如何解决在 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 举报,一经查实,本站将立刻删除。