如果您能提供一些指导,告诉我们如何在Ubuntu环境下使用g++和MATLAB引擎编译C++源代码文件,那将非常有帮助。
如果您能提供一些指导,告诉我们如何在Ubuntu环境下使用g++和MATLAB引擎编译C++源代码文件,那将非常有帮助。
将以下路径包含在PATH变量中:
a) MATLAB的位置,即 $matlabroot/bin b) $matlabroot/sys/os
您可以使用命令 'setenv PATH $matlabroot/bin:$matlabroot/sys/os:$PATH ' 来执行此操作。
在命令提示符中,使用cd命令导航到cpp代码所在的目录。例如,如果要编译engdemo.cpp,则需要导航到$matlabroot/extern/examples/eng_mat/engdemo.cpp
您需要使用所需的包含文件和库来调用编译器。为此,可以使用-I和-L开关。请注意顺序很重要。因此,您需要使用以下命令:
g++ engdemo.cpp -I "$matlabroot/extern/include" -L "$matlabroot/bin/glnxa64" -leng -lmat -lmex -lut -o engdemo.o
上述命令将生成一个对象文件engdemo.o。要执行此操作,请使用命令./engdemo.o
您可以参考http://www.umiacs.umd.edu/~jsp/Downloads/MatlabEngine/MatlabEngine.pdf文档,以获取有关C++和MATLAB的更多帮助。
setenv PATH $matlabroot/bin:$matlabroot/sys/os:$PATH
cd $matlabroot/extern/examples/eng_mat/
你需要使用以下方式进行编译:
g++ -c engDemo.cpp -I '$matlabroot/extern/include' -leng -lmat -lmex -lut
接下来,应该创建一个名为engDemo.o的文件。 由于使用matlab解释器,可能需要使用-leng -lmat -lmex -lut选项等其他内容,该解释器应位于$matlabroot/bin中。
并且与外部符号链接:
g++ -o engDemo -L '$matlabroot/bin/glnax64'
请注意,此路径建议您使用的是x64架构机器,如果不是,则路径可能略有不同。
然后,只需执行./engDemo即可运行您的文件。
我无法在我正在使用的笔记本电脑上安装matlab引擎,因此我无法测试我给您的指令,但应该是这样完成的。
希望能对您有所帮助!