我试图将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 ++链接等方面的专家,任何人都可以建议我还应该在编译器标志中添加什么?
答案 0 :(得分:0)
您有编译器阶段选项,但无法添加您引用的表单提供的链接器阶段选项。对我来说,它说的是
-L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 -lmkl_core
-lmkl_sequential -lpthread -lm
请注意添加库的-l
选项,以及-L
选项,告诉链接器在非标准位置找到它们的位置。