2012-07-20 69 views
1

我試圖用Matlab用戶定義的函數從C++沒有這樣的文件或目錄調用Matlab功能。我使用下面的命令創建了庫。錯誤:mclmcr.h:由C

MCC -B csharedlib:的libmylib myFunction.m

它不創造mclmcr.h和libmwmclmcrrt.so。我不知道它是運行時庫的一部分嗎?

由於

回答

0

按照documentation

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共享庫鏈接的程序。

其他一些參考: