Xcode 在Mac上将GCC从4.2.1更改为更新的版本
已安装GCC4.7,但我的mac当前使用4.2。我怎么能换呢 一些可能有用的细节: OS:Lion 10.7.5 通用条款:4.2.1 GCC 4.2.1的路径:/usr/bin/GCCXcode 在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
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++在/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中,必须包含。