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

Xcode 在Mac上将GCC从4.2.1更改为更新的版本,xcode,macos,gcc,homebrew,Xcode,Macos,Gcc,Homebrew,已安装GCC4.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将GCC 4.8安装到Xcode 4.5、Xcode 4.6、Xcode 5.0中: 对于尚未安装GCC 4.8的用户: 安装新版本的home brew 您可以找到如何在Internet上安装的方法 将brew更新至最新版本($brew upda

已安装GCC4.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

将GCC 4.8安装到Xcode 4.5、Xcode 4.6、Xcode 5.0中:

对于尚未安装GCC 4.8的用户:

安装新版本的home brew

您可以找到如何在Internet上安装的方法

将brew更新至最新版本(
$brew update

1.
$brew安装gcc48--启用所有语言

(may应通过brew安装mpc、mpfr和gmp)

2.
$brew链接gcc48

<>代码> C++代码、GPP、C++、CPP、C++在>/UR/BI/< /COD> < /P> 4.[可选步骤]:

别名g++-4.8、gpp-4.8、c++-4.8、cpp-4.8、c++-4.8

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

发送至
/usr/bin/

[针对尚未安装gcc的开发人员的上述4个步骤]

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

5.make插件

1) 下载

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

除了文件
gcc4.5.xcspec
中的“com.apple.compilers.gcc.headers.4_2”

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

3) 在文件
GCC 4.8.xcspec

{
    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]";
}
(希望您已经将
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/ceral/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/Plugins/

7.重新打开Xcode

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

8.更改Xcode项目中的生成设置

1) 在Xcode中的
项目
目标
设置中

将“C/C++/Objective-C编译器”更改为“GCC4.8”

2) 在
项目中
设置


删除“CLANG_CXX_库”"row

更改您的PATH变量,使较新的GCC领先于旧的GCC。因此,作为一名开发人员,您对
$PATH
?这看起来很麻烦-我甚至懒得做一半。这不是官方的。但如果您想使用Xcode 4.5+IDE与GCC一起工作,您别无选择。@trojanfoe有时您会这样做。@trojanfoe应该包括不同的头。一些符号细节不一样。我不明白什么是“不同的头”和“符号细节”?看起来OP根本不关心Xcode,只是需要(用户级)关于
$PATH
@特洛伊木马的建议,如果包含,则使用memcpy和int32时不需要包含。在GCC中,必须包含。