有没有任何已知的方法让Xcode与GCC一起工作而不是铿锵,或者这只是一个梦想,我应该为这些项目使用不同的IDE?
我正在使用Xcode 7.3 beta和GCC 5.3.0。
答案 0 :(得分:1)
我已经在这里更新了GCC 5.3的插件:
https://github.com/JDeanThomas/xcode-gcc
您可以通过显示插件的内容并在/ GCC 5.3.xcplugin / Contents / Resources
中编辑GCC 5.3.xcspec来更改默认设置将GCC 5.3插件添加到: /Applications/Xcode.app/Contents/Plugins/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins /
打开Xcode并打开/创建一个项目。选择项目,然后在Build Settings>下构建选项>编译器用于C / C ++ / Objective-C你应该看到选择GCC 5.3的选项。
我遇到的一个问题:你需要编辑:
" Clang LLVM 1.0.xcplugin"在/Applications/Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins/Clang LLVM 1.0.xcplugin / Contents / Resources。
在“Name =" CLANG_CXX_LIBRARY”下,“更改”CommandLineArgs“和”AdditionalLinkerArgs“来自" -stdlib = $(value)" to" -std = $(value)"因此,当您输入自己的值时,它会将-std =传递给compier(GCC的标准)而不是-stdlib(Clang的标准)。你必须选择一个值(例如:" c ++ 98"," gnu ++ 98"," c ++ 0x"," gnu ++ 0x"," c ++ 14"," gnu ++ 14“),否则它将使用”编译器默认值“,它使用-stdlib标志。您可以在同一条目中编辑“编译器默认值”设置,但如果您尝试在编译中使用Clang,它将使用-std而不是-stdlib,如Clang所期望的那样。
在上面的条目中,“Name =" CLANG_CXX_LANGUAGE_STANDARD”“,在”CommandLineArgs“下,您还应该更改" gnu ++ 14" =(" -std = gnu ++ 1y");到" gnu ++ 14" =(" -std = gnu ++ 14“); 。 gnu ++ 1y是折旧的,gnu ++ 14(带有GNU扩展的c ++ 14)现在是默认值(从GCC 6.1开始)。
我只需输入gnu ++ 14作为目标并在Build Setings>下构建;用户定义>进行上述更改后的CLANG_CXX_LIBRARY,除非我需要较旧的标准(即c ++ 11)以实现兼容性。如果我需要使用Clang,那么我只需将设置保留为空白,它将使用gnu ++ 14(默认为Clangs)恢复为-stdlib
如果您希望备份副本并删除修改后的副本,我将添加一个Clang插件的副本以及对上面github存储库的更改。
有关GCC设置的更多信息: