我通常在OSX上编码并使用以下代码编译我的所有程序:-Wall -Wextra -Werror
我在另一台笔记本电脑nixos
上下载,当我想编译同一个项目时,我发现-Wunused-result
错误。
我可以用-Wno-unused-result
禁用它,但是为什么这个标志错误会出现在这个操作系统上?
我找不到默认的标志配置文件或环境变量。
好奇的是,我正在尝试编译的程序是:libft。
答案 0 :(得分: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进一步改进),会产生类似的消息。< / p>