CMakeLists.txt
CMake が Visual Studio 2010 (64 ビット) ソリューション ファイルを記述して、C++ コードから MATLAB R2011a (64 ビット) 用の mex 関数をビルドするようなものを書きたいと思いますexample.cxx
。
- MATLAB のコンパイラ ラッパーを使用したくありません
mex
が、Visual C++ が関連する MATLAB ライブラリをリンクするように Visual Studio ソリューション ファイルをセットアップします。 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
ある名前で出力をインストールします。MATLAB からexample.mexw64
呼び出すと、エラー メッセージが表示されますexample
??? Invalid MEX-file
'C:\...\example.mexw64':
C:\...\example.mexw64 is not a valid Win32 application.
どんな提案も大歓迎です!