在尝试使用g++ 4.8.2
构建包含Eigen 3.2
矩阵库标头的代码时,我遇到了一个与openmp
相关的丑陋链接器错误(未定义对omp_get_max_threads_
、omp_get_num_threads_
等的引用)。目标操作系统是Ubuntu 14.04
。我在编译时使用了-fopenmp
,也尝试过用-lgomp
链接,仍然是链接器错误。该程序在Debian 7
、OS X Mavericks
和Solaris 11
下链接良好。Ubuntu 14.04
下Eigen
对openmp
的支持有问题吗?这是唯一一个操作系统下,我得到这个链接器错误。
Ubuntu 14.04
g++-4.8
编译器链接简单的openmp
程序(内部有#pragma
)很好,比如#pragma omp parallel for
,当试图编译和链接包含Eigen
的东西时会出现问题。。。
谢谢!
您应该尝试include <omp.h>
或禁用特征的并行化(例如,如果您的应用程序已经使用OpenMP进行了并行化)。http://eigen.tuxfamily.org/dox/TopicMultiThreading.html