Eigen和MKL 11.2

时间:2015-03-25 02:11:07

标签: c++ eigen flags intel-mkl

我试图将Eigen与MKL 11.2联系起来 我有最新的稳定版本的Eigen 3.2.4。然而,即使如此this bug仍然存在,我使用Eigen存储库中的最新源进行了修复。

现在,当我尝试使用来自here的给定标志进行编译时,更具体地说:

-O3 -std=c++11 -m64 -I/opt/intel/mkl/include

我仍然收到以下错误:

main.cpp:(.text._ZmlIN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEER6ADNodeIT_ES6_
S6_[_ZmlIN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEER6ADNodeIT_ES6_S6_]+0x3f4)
: undefined reference to `dgemm'

我不是C ++链接等方面的专家,任何人都可以建议我还应该在编译器标志中添加什么?

1 个答案:

答案 0 :(得分:0)

您有编译器阶段选项,但无法添加您引用的表单提供的链接器阶段选项。对我来说,它说的是

-L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 -lmkl_core
-lmkl_sequential -lpthread -lm

请注意添加库的-l选项,以及-L选项,告诉链接器在非标准位置找到它们的位置。