gpt4 book ai didi

c++ - 使用 gcc4.7 std 库编译 Intel 12.1.3

转载 作者:太空宇宙 更新时间:2023-11-04 14:17:19 33 4
gpt4 key购买 nike

我遇到了 this 中描述的相同问题发布除了我使用的是英特尔版本 12.1.3。 (g++ 的 header <functional>#ifdef __GXX_EXPERIMENTAL_CXX0X__ 保护,在使用 icpc 时未定义。)

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

在 Ubuntu 11.10 中我有 gcc4.6.1但我也安装了gcc4.7来自 gcc-snapshot包。

英特尔有选项 -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 版。有人知道如何让英特尔使用正确的库吗?

最佳答案

我发现,如果您使用带有标志 -v -Q 的 gcc(或 g++)进行编译,您会得到一个标志和定义列表。它可能会帮助您了解 gcc 的作用,因此也许您可以在 icpc 中使用相同的 -D/-U。 g++ -E 也将在不编译的情况下进行预处理:您可以从中获得有用的路径信息。

关于c++ - 使用 gcc4.7 std 库编译 Intel 12.1.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10179832/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com