clang:错误:在Mac OSX Mavericks上不支持选项“-static-libgcc”。

10
我正在尝试在我的Mac Mini上使用Mac OSX Mavericks从源代码编译 jogl,但是出现了以下错误:
clang: error: unsupported option '-static-libgcc' on Mac OSX Mavericks 我已经安装了XCode 5.0.1 (5A2053)Command line tools for OSX Mavericks。 请问如何解决这个问题?

如果您在gluegen/make目录下运行scripts/make.gluegen.all.macosx-clang.sh,它将使用clang正确构建。 - chrixian
2个回答

9

gcc 命令在 Mavericks 系统上实际上并不是真正的 GCC,它只是 Clang 的一个复制品:

$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix

这意味着它不支持仅适用于GCC的标志,如-static-libgcc。找出您的构建系统中生成该标志的部分并将其删除。

谢谢Carl。看起来这解决了编译问题。虽然我不知道它会对输出产生什么影响。(我是Java开发人员,对C和GCC完全陌生) - Jagan Veeraraghavan
我在哪里/如何找到这个? - kirikoumath
我的错误如下:clang: 错误:不支持选项“-dumpspecs” clang: 错误:没有输入文件 - kirikoumath
@user5503 你怎么找到什么? - Carl Norum

3
您可以通过在gluegen.properties文件(应位于您的用户/用户名目录中)中添加以下行来解决此问题:
gcc.compat.compiler=clang

这告诉JOGL构建系统它正在使用Clang。否则,它会认为自己正在使用gcc,并尝试使用gcc特定的选项。在Mavericks上,这会失败,因为gcc现在只是链接到Clang。


这对我没有帮助,所以我按照@Carl Norum的建议从Makefiles中删除了-static-libgcc - Andrei

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接