我試圖用Matlab用戶定義的函數從C++沒有這樣的文件或目錄調用Matlab功能。我使用下面的命令創建了庫。錯誤:mclmcr.h:由C
MCC -B csharedlib:的libmylib myFunction.m
它不創造mclmcr.h和libmwmclmcrrt.so。我不知道它是運行時庫的一部分嗎?
由於
我試圖用Matlab用戶定義的函數從C++沒有這樣的文件或目錄調用Matlab功能。我使用下面的命令創建了庫。錯誤:mclmcr.h:由C
MCC -B csharedlib:的libmylib myFunction.m
它不創造mclmcr.h和libmwmclmcrrt.so。我不知道它是運行時庫的一部分嗎?
由於
All application and software components generated by MATLAB Compiler and the associated builder products need to link against only one MathWorks library, mclmcrrtxx.lib
的的.lib和相應的頭文件可以在$matlabroot/extern
中找到,而該.dll /。所以共享庫可以在$matlabroot/runtime/$arch
可以找到(或在MCR安裝內部)
MATLAB有一個方便的功能mbuild
(您必須使用mbuild -setup
設置一次)。 mbuild
知道如何調用C/C++編譯器與正確的開關使編譯器能找到所需的包含文件和庫。您可以使用mbuild
創建自己的可執行文件,並與MATLAB編譯器生成的共享庫鏈接它們。
例如,將它裏面MATLAB稱爲:
>> mbuild testProgram.c -I./distrib -L./distrib -llibMylib
構建一個對你產生使用MATLAB編譯器,其中distrib
目錄包含這些生成的文件的C共享庫鏈接的程序。
其他一些參考: