Я хотел бы написать CMakeLists.txt
, чтобы CMake написал файл решения Visual Studio 2010 (64-разрядный) для создания функции mex для MATLAB R2011a (64-разрядный) из кода С++ example.cxx
.
- Я не хочу использовать оболочку компилятора MATLAB
mex
, но настрою файл решения Visual Studio таким образом, чтобы Visual C++ связывал соответствующие библиотеки MATLAB. example.cxx
не имеет никаких зависимостей, кроме библиотек MATLAB, которые необходимы для файлов MEX.- CMake 2.8.7 настроен правильно, так что он использует 64-битный генератор для Visual Studio 2010.
Суть того, чем я сейчас занимаюсь
find_package(Matlab)
add_library(example STATIC example.cxx)
target_link_libraries(example ${MATLAB_LIBRARIES})
Ни компилятор, ни компоновщик не выдают никаких ошибок. Я устанавливаю вывод example.lib
под именем example.mexw64
в каталог по пути MATLAB. Когда я вызываю example
из MATLAB, я получаю сообщение об ошибке
??? Invalid MEX-file
'C:\...\example.mexw64':
C:\...\example.mexw64 is not a valid Win32 application.
Любые предложения приветствуются!