【问题标题】:GCC / clang default error flagGCC / clang 默认错误标志
【发布时间】:2016-12-21 20:23:21
【问题描述】:

我通常在 OSX 上编码并使用以下代码编译我的所有程序:-Wall -Wextra -Werror

我在另一台笔记本电脑上下载nixos,当我想编译同一个项目时,出现-Wunused-result 错误。

我可以使用 -Wno-unused-result 禁用它,但是为什么这个标志错误出现在这个操作系统上?

我没有找到默认标志配置文件或环境变量。

出于好奇,我要编译的程序是:libft

【问题讨论】:

    标签: compilation gcc clang


    【解决方案1】:

    如果您在 OSX 上编译并且尚未安装 gcc,Apple 提供了 clang 伪装成 gcc。伪装不是很好,因为警告(和退出代码)有很多差异。你可以看到你正在使用什么

    gcc --version
    

    并且(例如‐我在/opt下使用MacPorts安装了gcc):

    $ path -lL gcc
    -rwxr-xr-x  3 root  admin  1131416 Jun 10  2016 /opt/local/bin/gcc
    -rwxr-xr-x  1 root  wheel  18176 Jul  8 22:52 /usr/bin/gcc
    
    $ /opt/local/bin/gcc --version
    gcc (MacPorts gcc5 5.4.0_0) 5.4.0
    Copyright (C) 2015 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    $ /usr/bin/gcc --version
    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
    Apple LLVM version 8.0.0 (clang-800.0.42.1)
    Target: x86_64-apple-darwin15.6.0
    Thread model: posix
    InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
    

    如您所见,/usr/bin/gcc 确实是 clang,并且(除非 Apple 进一步改进),会产生类似的消息。

    【讨论】:

    • 这就是我写 gcc / clang 的原因,两者都有同样的错误。
    猜你喜欢
    • 2023-03-29
    • 2013-08-21
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多