如何在Debian系统中将matlab编译的代码集成到c ++中

时间:2016-12-07 16:27:34

标签: c++ linux matlab-compiler

我一直在尝试使用Matlab编译器SDK将我的Matlab程序打包为Debian系统中的C ++共享库。我有一个文件夹,包括test.c,test.h,test.so(test是我的Matlab程序名),我已经在Debian系统中安装了Matlab_runtime。我在readme.txt _ *中设置了变量LD_LIBRARY_PATH_和_ XAPPLRESDIR_(_ 将MCR_ROOT替换为目标机器上安装MATLAB Runtime的目录。     (1)将环境变量XAPPLRESDIR设置为此值:         MCR_ROOT / V91 / X11 /默认应用程序     (2)如果未定义环境变量LD_LIBRARY_PATH,请将其设置为以下字符串的串联:         MCR_ROOT / V91 /运行/ glnxa64:         MCR_ROOT / V91 /斌/ glnxa64:         MCR_ROOT / V91 / SYS / OS / glnxa64:         MCR_ROOT / V91 / SYS / OpenGL的/ LIB / glnxa64 _)*     。     我编辑我的main.cpp包括test.h.当我尝试编译main.cpp时使用_ gcc main.cpp -o main _,我得到如下错误:      在main.cpp中包含的文件中:2:0:     test.h:15:22:胎儿错误:mclmcrrt.h:没有这样的文件或目录     #include“mclmcrrt.h”

I know that mclmcrrt.h is in the package of Matlab_runtime, it means I failed to link to the library of Matlab_runtime. Anybody knows what should I do to make my main.cpp compile successfully? I tried two days to work on how to connect to the Matlab_runtime library, but still failed. I am a beginner to linux. Great thanks if anyone can help.

1 个答案:

答案 0 :(得分:1)

这是一个编译问题,而不是链接。您的编译器不知道mclmcrrt.h的位置。请告诉它它的位置,帮助它找到它:

gcc -I<the_folder_where_mclmcrrt.h_lives_in> ...