【问题标题】:Unknown GCC pragmas on MacMac 上未知的 GCC 编译指示
【发布时间】:2022-01-09 06:19:08
【问题描述】:
warning: unknown pragma ignored [-Wunknown-pragmas]
#pragma GCC optimize("O3")

我想启用 GCC 优化标志,但在我编译代码时它们会被忽略,尽管它们存在于 documentation 中。为什么会这样?

【问题讨论】:

  • 在 Mac 上,gcc 有时是clang 的别名,而不是实际的 GCC。运行gcc --version 会得到什么?
  • 哦,不。这是铿锵声。但即使我使用-std=c++17-std=gnu++17,也会出现同样的警告
  • 除了gcc 在Mac 上很可能是clang,为什么还要在代码中设置优化级别?这通常会适得其反。为什么不将优化级别设置为构建系统的一部分?
  • 一切为了竞技编程
  • 这能回答你的问题吗? Apple LLVM 5.0 pragma optimize

标签: c++ gcc pragma


【解决方案1】:

问题是 g++ 默认是 MacOS 中的 clang 别名 所以我这样做了

cd /usr/local/bin
ln -s g++-11 g++

这解决了问题,g++ 命令将运行实际的 gcc 编译器而不是 clang

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 2019-11-27
    相关资源
    最近更新 更多