gpt4 book ai didi

c++ - 如何开启英特尔C++编译器12.1.2的C++0x

转载 作者:太空狗 更新时间:2023-10-29 20:06:13 26 4
gpt4 key购买 nike

我在 Arch Linux 3.2.1 上安装了最新版本的英特尔 C++ 编译器 v12.1.2。当我使用 icpc 编译我的 C++ 文件时

icpc -O3 -DNDEBUG -std=gnu++0x -o obj/main.o src/main.cpp -c

icpc -O3 -DNDEBUG -std=c++0x -o obj/main.o src/main.cpp -c

弹出警告

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

我的 main.cpp 包含许多 C++0x 特性,例如右值引用、自动等。但英特尔编译器无法在 C++0x 模式下工作。如何开启它的C++0x特性?

最佳答案

我不得不努力解决这个问题,但一个快速的解决方案似乎是:

  1. 安装 libstdc++4.5(或更早版本)
  2. 使用icpc -gcc-name=gcc-4.5 -std=c++0x编译

问题是英特尔编译器不支持 GNU 编译器从 4.6 版开始支持的所有 C++0x 特性。这会导致与 GNU libstdc++ header 不兼容,因为目前所有 C++0x 功能都受唯一宏 __GXX_EXPERIMENTAL_CXX0X__ 保护,无法单独启用或禁用。

关于c++ - 如何开启英特尔C++编译器12.1.2的C++0x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8938325/

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