我一直在尝试使用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.
答案 0 :(得分:1)
这是一个编译问题,而不是链接。您的编译器不知道mclmcrrt.h
的位置。请告诉它它的位置,帮助它找到它:
gcc -I<the_folder_where_mclmcrrt.h_lives_in> ...