首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用icc和MAGMAmic编译无法找到“复杂”系统文件。

用icc和MAGMAmic编译无法找到“复杂”系统文件。
EN

Stack Overflow用户
提问于 2017-09-15 12:31:58
回答 1查看 167关注 0票数 0

我试图用icc编译器和MAGMAmic库编译源文件。但是,我得到了以下错误:

代码语言:javascript
复制
icc -c -o  direct.o direct.c -O3 -openmp -DADD_ -Wall -DHAVE_MIC -I/opt/intel/mic/coi/include -I/usr/include/intel-coi -I/opt/intel/compilers_and_libraries_2017.2.174/linux/mkl/include:/opt/intel/compilers_and_libraries_2017.2.174/linux/ipp/include:/opt/intel/compilers_and_libraries_2017.2.174/linux/mkl/include:/opt/intel/compilers_and_libraries_2017.2.174/linux/tbb/include:/opt/intel/compilers_and_libraries_2017.2.174/linux/daal/include -I/home/dslavchev/install/magmamic-1.4.0/include -I/home/dslavchev/install/magmamic-1.4.0/contol
icc: command line remark #10411: option '-openmp' is deprecated and will be removed in a future release. Please use the replacement option '-qopenmp'
In file included from /home/dslavchev/install/magmamic-1.4.0/include/magma_types.h(134),
             from /home/dslavchev/install/magmamic-1.4.0/include/magmablas_z.h(17),
             from /home/dslavchev/install/magmamic-1.4.0/include/magmablas.h(12),
             from /home/dslavchev/install/magmamic-1.4.0/include/magma.h(17),
             from direct.c(21):
/opt/intel/compilers_and_libraries_2017.2.174/linux/compiler/include/complex(30): catastrophic error: cannot open source file "complex"
#include_next <complex>
                     ^

MAGMAmic库编译正确,我可以运行它的测试ok。我看过testing_dgesv_mic.cpp示例编译和使用相同的包含和链接的方式,但是在我的例子中,我得到了上面的错误。

为了获得英特尔编译器和库的环境变量,我在我的.bashrc文件中添加了以下内容:

代码语言:javascript
复制
#for MAGMA mic
export MAGMA_PATH=/home/dslavchev/install/magmamic-1.4.0

source /opt/intel/bin/compilervars.sh  intel64
source /opt/intel/mkl/bin/mklvars.sh  intel64

有什么想法可能导致icc无法包含“复杂”文件?

文件复合体确实存在于"/opt/intel/compilers_and_libraries_2017.2.174/linux/compiler/include/complex“中。

国际刑事法院的职责是:

代码语言:javascript
复制
[dslavchev@sl051 results]$ icc -v
icc version 17.0.2 (gcc version 4.4.7 compatibility)

魔幻版本是magmamic 1.4.0

编辑:删除不必要的代码注释EDIT2:添加版本信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-19 17:01:10

MAGMAmic是一个C++库,不能直接与C代码一起使用。

当icc检测到要编译.c++文件时,它会自动切换到icpc (Intel C++编译器),从而导致上述错误。

解决方案:要么切换到icpc,要么将文件重命名为.c++

在岩浆论坛上,马克回答了这个问题。链接:http://icl.cs.utk.edu/magma/forum/viewtopic.php?f=2&t=1587&p=4442#p4442

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46239678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档