【发布时间】:2012-04-13 05:30:05
【问题描述】:
我有一段用 C++11 编写的代码,我想将其编译为 GNU/Linux 的 MATLAB MEX 文件的一部分。
问题是 Linux 上的 MATLAB 仅支持 GCC 4.3(及更早版本),不支持编译我的 C++11 代码所需的 GCC 4.7。
是否有可能解决这个问题?
是否可以通过使用 GCC 4.7 编译一些目标文件并使用 GCC 4.3 将它们链接到 MEX 文件来解决此问题?
提前致谢!
【问题讨论】:
-
不支持是什么意思?最后,mex 文件只是具有简单 C 接口的共享库。所以你可能必须手动编译它,并且可能需要编辑一些标题,但你应该能够让它工作。
-
请看这个答案:stackoverflow.com/questions/25648949/…。基本上将 -std=c++11 添加到 mexopts.sh 中定义的 CFLAGS 工作正常。
标签: c++ c++11 matlab-deployment