【发布时间】:2012-04-18 21:55:07
【问题描述】:
我想编写一个CMakeLists.txt,以便 CMake 编写一个 Visual Studio 2010(64 位)解决方案文件,以便从 C++ 代码 example.cxx 为 MATLAB R2011a(64 位)构建一个 mex 函数。
- 我不想使用 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})
编译器和链接器都不会发出任何错误。我将输出 example.lib 安装在 MATLAB 路径中的目录下,名称为 example.mexw64。当我从 MATLAB 调用 example 时,我收到错误消息
??? Invalid MEX-file
'C:\...\example.mexw64':
C:\...\example.mexw64 is not a valid Win32 application.
欢迎提出任何建议!
【问题讨论】:
标签: matlab visual-c++ 64-bit cmake mex