如果您能够提供一些关于如何在Ubuntu环境中编译c++源代码文件的指导,使用MATLAB和g++,将会很有帮助。
发布于 2017-03-26 15:59:14
我假设您想知道使用Linux中的c++编译g++代码(调用MATLAB )的过程。要做到这一点,请执行以下步骤:
发布于 2017-03-31 15:40:00
C/C++的编译过程分为两个阶段:
首先,将源代码转换为带有多个对象文件(.o或.obj)的机器代码的编译。
然后,将对象文件转换为单个可执行文件(.dll或.exe)的链接。
运行matlab引擎的C/C++程序需要三样东西:
1>与matlab引擎兼容的编译器。
2>引用API头文件(c的“.h”或c++的“.hpp”)进行编译。
3>引用外部符号链接的库( windows的“.lib”,linux的“.so”)。
您可以看到可压缩的基于linux的系统编译器这里。GCC C/C++ 4.9.x兼容,因此可以使用g++。
正如这个API头文件所建议的,API头文件应该在$matlabroot/extern/include中,.so文件应该在$matlabroot/ bin/glnax64 64中,其中$matlabroot是matlab安装文件夹。
设置环境变量
使用ctrl + alt + T打开您的temnial,并键入:
setenv PATH $matlabroot/bin:$matlabroot/sys/os:$PATH然后,您可以转到源文件所在的文件夹,让我们使用下面的命令假设为$matlabroot/extern/examples/eng_mat/:
cd $matlabroot/extern/examples/eng_mat/您需要使用:进行编译
g++ -c engDemo.cpp -I '$matlabroot/extern/include' -leng -lmat -lmex -lut之后,应该创建一个名为engDemo.o的文件。由于使用了应该位于$matlabroot/bin中的matlab解释器,可能需要使用-leng -lmat -lmex -lut选项。
和外部符号链接:
g++ -o engDemo -L '$matlabroot/bin/glnax64'尽管这条路径假定您是在x64体系结构机器上,但是如果不是,则路径可能略有不同。
然后只需执行./engDemo即可执行您的文件。
我不能在我正在使用的笔记本上安装matlab引擎,所以我无法测试我给你的指令,但是应该这样做。
希望能帮上忙!
https://stackoverflow.com/questions/42937348
复制相似问题