仅将 C++/mex 转换为 C++

问题描述

2 年前,我开始在 MATLAB 中编写数据处理代码,多亏了 armadillo,我才能够将其转换为 C++/mex 文件。它终于全部转换为 C++/mex,但不再需要仅是 C++ 的 mex。所以我开始编写 C++ main 函数并包含我在 mex 版本中使用的函数的头文件,当我尝试编译时我得到

/usr/bin/ld: /tmp/ccYOMZVI.o: undefined reference to symbol 'mxGetN_800'
/usr/bin/ld: /usr/local/MATLAB/R2019b/bin/glnxa64//libmx.so: error adding symbols: DSO missing from command line

使用 Matlab/Mex 编译时,我使用的命令是:

mex -v COMPFLAGS='$COMPFLAGS /std:c++11' COPTIMFLAGS="-O3 -fwrapv -DNDEBUG" CFLAGS="$CFLAGS -fopenmp -march=native" -I/usr/include rcp_adp.cpp -I/usr/include ini.c -I/usr/include cpp/INIReader.cpp -L/lib64 -lgomp -larmadillo -lmwlapack -lmwblas -lfftw3_omp -lfftw3 -lm

和我的 C++ 测试函数编译:

g++ test.cpp -O3 -fopenmp -fwrapv -DNDEBUG -L/usr/local/MATLAB/R2019b/bin/glnxa64/ -lgomp -larmadillo -lmwlapack -lmwblas -lfftw3_omp -lfftw3 -lm

自从我从终端编译 C/C++ 而不是从 MATLAB for mex 编译 C/C++ 可能已经有大约 5 年了,所以我可能会遗漏一些非常简单的东西。任何帮助将不胜感激。

解决方法

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

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

小编邮箱: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...