首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gcc4.7标准库使用Intel 12.1.3进行编译

使用gcc4.7标准库使用Intel 12.1.3进行编译
EN

Stack Overflow用户
提问于 2012-04-17 02:48:14
回答 1查看 1.4K关注 0票数 1

除了我使用的是英特尔12.1.3版本之外,我在this post中也遇到了同样的问题。(g++的报头<functional>由使用icpc时未定义的#ifdef __GXX_EXPERIMENTAL_CXX0X__保护。)

我想安装gcc4.7并使用它的std库,而不是使用boost::functional

在Ubuntu11.10中,我安装了gcc4.6.1,但我也从gcc-snapshot包安装了gcc4.7

英特尔提供-gcc-name-gxx-name-cxxlib选项。因此,最初我使用以下命令进行编译:

-std=c++0x -gcc-name=/usr/lib/gcc-snapshot/bin/gcc -gxx-name=/usr/lib/gcc-snapshot/bin/g++ -cxxlib=/usr/lib/gcc-snapshot/

但是我得到了一个错误:

icpc: error #10282: file '/usr/lib/gcc-snapshot/bin/usr/lib/gcc-snapshot/bin/g++' not found, generated based on '-cxxlib=/usr/lib/gcc-snapshot/'

因此,我使用以下命令进行编译:

-std=c++0x -gcc-name=./gcc -gxx-name=./g++ -cxxlib=/usr/lib/gcc-snapshot/

但我仍然收到警告和错误:

Warning #2928: the __GXX_EXPERIMENTAL_CXX0X__ macro is disabled when using GNU version 4.6 with the c++0x option

error: namespace "std" has no member "function"

该警告清楚地表明它仍在使用4.6版。有人知道如何让英特尔使用正确的库吗?

EN

回答 1

Stack Overflow用户

发布于 2012-04-17 08:38:59

我发现如果你用带有标志-v -Q的gcc (或g++)编译,你会得到一个标志和定义的列表。它可能会帮助你了解gcc是做什么的,所以也许你可以在icpc中使用相同的-D/-U。此外,g++ -E无需编译即可进行预处理:您可以从中获取有用的路径信息。

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

https://stackoverflow.com/questions/10179832

复制
相关文章

相似问题

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