将GCC从4.2.1更改为Mac上的更新版本

时间:2013-09-22 20:58:27

标签: xcode macos gcc homebrew

已安装GCC 4.7,但我的mac目前使用4.2。我怎么切换它?

可能会有所帮助的一些细节:

OS:Lion 10.7.5

海湾合作委员会:4.2.1

GCC 4.2.1的路径:/ usr / bin / gcc

GCC 4.7的路径:/usr/local/bin/gcc-4.7

1 个答案:

答案 0 :(得分:0)

将GCC 4.8安装到Xcode 4.5,Xcode 4.6,Xcode 5.0:

对于尚未安装GCC 4.8的人:

安装新版本的家酿

您可以找到如何在互联网上安装的方法

将您的brew更新为最新版本($brew update

1。$brew install gcc48 --enable-all-languages

(可能应该通过brew安装mpc,mpfr和gmp,http://solarianprogrammer.com/2013/06/11/compiling-gcc-mac-os-x/

2。$brew link gcc48

3. /usr/bin/中的备份g ++,gpp,c ++,cpp,c ++

4. [可选步骤]:

alias g ++ - 4.8,gpp-4.8,c ++ - 4.8,cpp-4.8,c ++ - 4.8

来自/usr/local/Cellar/gcc48/4.8.2/bin/g++

/usr/bin/

[未安装gcc的开发人员超过4个步骤]

[@“Donny P”:你可以跳过4个步骤以上]

5.make插件

1)下载a plugin of GCC 4.5 for Xcode

2)将每个“4.5”更改为“4.8”,将“4_5”更改为“4_8”,文件名,文件内容,

文件GCC 4.5.xcspec中的“com.apple.compilers.gcc.headers.4_2”除外。

您可以保持English.lproj内容不变,并删除Japanese.lproj

3)在文件GCC 4.8.xcspec

(希望您已将GCC 4.5.xcspec的文件名更改为GCC 4.8.xcspec

更改ExecPath = "...”;

ExecPath = "/usr/local/bin/gcc-4.8"(@“Donny P”:您可以将其更改为“/usr/local/bin/gcc-4.7”)

ExecPath = "/usr/local/Cellar/gcc48/4.8.2/bin/gcc-4.8"(适用于通过brew安装gcc-4.8的人员)

ExecPath = "/usr/bin/gcc"(对于完成第4步的人。)

4)删除文件GCC 4.8.xcspec中的“-Wshorten-64-to-32”部分

{
    Name = "GCC_WARN_64_TO_32_BIT_CONVERSION";
    Type = Boolean;
    DefaultValue = NO;
    CommandLineArgs = {
        YES = (
            "-Wshorten-64-to-32",
        );
        NO = ();
    };
    AppearsAfter = "GCC_WARN_PROTOTYPE_CONVERSION";
    Category = Warnings;
    CommonOption = NO;
    DisplayName = "Implicit Conversion to 32 Bit Type";
    Description = "Warn if a value is implicitly converted from a 64 bit type to a 32 bit type.
    [GCC_WARN_64_TO_32_BIT_CONVERSION, -Wshorten-64-to-32]";
}

6.将编辑后的GCC 4.8.xcplugin输入

/Applications/Xcode.app/Contents/Plugins/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins/

7.reopen Xcode。

现在,新插件已经为您准备好了。您可以在项目“Build Settings”的“Compiler for C / C ++ / Objective-C”中看到新的GCC编译器插件

8.在Xcode项目中更改构建设置

1)在Xcode中的projecttarget设置

将“C / C ++ / Objective-C编译器”更改为“GCC 4.8”

2)在project设置中

删除“CLANG_CXX_LIBRARY”行