【发布时间】:2017-12-07 16:22:13
【问题描述】:
在 Matlab 2016b 中编译一些 C++ 代码时使用:
mex CXXFLAGS="\$CXXFLAGS -std=c++11 -fopenmp" CXXOPTIMFLAGS='\$CXXOPTIMFLAGS -Ofast -DNDEBUG mexMyFunction.cpp
我收到以下错误:
undefined reference to `omp_get_thread_num'
undefined reference to `omp_get_num_threads'
系统:Ubuntu 16.04,g++版本:5.4.0。
如果我从上述命令中删除-fopenmp,那么它工作正常。直接使用 g++(不使用 mex)编译也可以。
你能帮我解决这个问题吗?
非常感谢您!
【问题讨论】:
-
我不知道
mex是如何工作的,但是您还必须将-fopenmp添加到链接步骤中。 -
@Zulan 非常感谢!我想通了。