Closed GoogleCodeExporter closed 8 years ago
Thank you very much for this patch Martin.
I am able to compile the MEX-files for Octave 3.4.0 under MacOS 10.5.8 without
any problem.
The revision r705 is based on your code. To not have two times the definitions
of the function to build (and the possibility to forgot to update one of them
when adding/modifying a function), I move these definitions in the file
CMakeLists.part.in. I have to implement the CMake part for Windows.
From my first try, everything is right except when a C++ exception is thrown.
For example, if you use the function btkReadAcquisition with an error in the
path, then no error is displayed by Octave. It looks like everything is right
and I have a new prompt. But when I execute the next command, Octave doesn't
respond anymore. I have to kill it. Have you the same problem under Linux?
Original comment by arnaud.barre
on 28 Jul 2011 at 12:31
No problem to wrap BTK for Octave 3.2.4 (i686-pc-mingw32_gcc-4.4.0) under
Windows.
However, the user has to configure manually the CMake project. Firstly, as the
downloadable binary use MinGW, it is not possible to use MSVC. Then it is
important to select the "MinGW Makefiles" generator. Secondly, Octave embedded
its own version of MinGW and then must be added in the environment variable
PATH, otherwise CMake won't detect the compiler. Thirdly, the name of the
executables for the C and C++ compiler are not recognize by cmake (looking for
gcc.exe and g++.exe, but the filenames in Octave 3.2.4 are
mingw32-gcc-4.4.0-dw2.exe and mingw32-g++-4.4.0-dw2.exe). So they must be
selected manually (here in the folder C:\Octave\3.2.4_gcc-4.4.0\mingw32\bin).
Finally, it is important to strip the libraries (-s option for the variable
CMAKE_EXE_LINKER_FLAGS and CMAKE_SHARED_LINKER_FLAGS) to reduce the size of the
files (from 4Mb to 5kb in general for each MEX files).
As with MacOS X, I have a similar behavior when a C++ exception is thrown. This
time, I have the error displayed, I can continue to use Octave (open a new
acquisition, etc). But, when I use the command 'exit', then Octave crashes. I
didn't find (yet) any information on this issue.
Original comment by arnaud.barre
on 28 Jul 2011 at 7:24
I investigated a little bit more the problem under MacOS X and it seems it is
related to the standard output and error redirection not re-initialized after
the use of the MEX function 'mexErrMsgTxt'. Need to be investigated under
Windows.
Original comment by arnaud.barre
on 11 Aug 2011 at 6:42
This issue seems completely resolved since the revision r736.
Original comment by arnaud.barre
on 1 Sep 2011 at 10:01
Original issue reported on code.google.com by
martin.f...@gmail.com
on 27 Jul 2011 at 10:33Attachments: