我想写一个CMakeLists.txt
这样的 CMake 编写一个 Visual Studio 2010 (64 bit) 解决方案文件来从 C++ 代码为 MATLAB R2011a (64 bit) 构建一个 mex 函数example.cxx
。
- 我不想使用 MATLAB 的编译器包装器
mex
,而是设置 Visual Studio 解决方案文件,以便 Visual C++ 链接相关的 MATLAB 库。 example.cxx
除了 mex 文件所需的 MATLAB 库之外,没有其他依赖项。- CMake 2.8.7 设置正确,因此它使用 Visual Studio 2010 的 64 位生成器。
我现在做的事情的本质是
find_package(Matlab)
add_library(example STATIC example.cxx)
target_link_libraries(example ${MATLAB_LIBRARIES})
编译器和链接器都不会发出任何错误。我将输出安装在 MATLAB 路径中的目录中example.lib
的名称下。example.mexw64
当我example
从 MATLAB 调用时,我收到错误消息
??? Invalid MEX-file
'C:\...\example.mexw64':
C:\...\example.mexw64 is not a valid Win32 application.
欢迎任何建议!