在 ubuntu 中使用 mex 在 matlab 中编译一个 C++ 文件

问题描述

我正在尝试在使用 g++ 版本 8 的 ubuntu 操作系统(虚拟机)上运行包含 c++ 代码和 fftw3 库的 matlab (2020a) 代码。 我使用的 mex 命令:

eval(strcat("mex ./file_mex.cpp ",filelist," -DNO_SDL -DNO_OPENEXR -DNO_TIFF -DNO_JPEG -DNO_PNG -L/usr/lib/x86_64-linux-gnu -I/home/mh/fftw-3.3.9/api/ -lfftw3f -lfftw3f -ldl -R2018a"))

当我插入时:$locate fftw3.h 我得到:

/home/mh/fftw-3.3.9/api/fftw3.h

/usr/local/include/fftw3.h

我在这里遗漏了什么导致这个错误并且无法编译:

错误使用 mex /usr/bin/ld: //usr/local/lib/libfftw3f.a(assert.o): 针对符号 `stdout@@GLIBC_2.2.5' 的重定位 R_X86_64_PC32 不能 在创建共享对象时使用;用 -fPIC /usr/bin/ld 重新编译: 最终链接失败:错误值 collect2:错误:ld 返回 1 个退出

警告:您正在使用 gcc 版本“8.4.0”。 gcc的版本不是 支持的。 MEX 目前支持的版本是“6.3.x”。

任何帮助将不胜感激, 提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...