我正在尝试在objective-c++程序中使用OpenMP。
不幸的是,llvm-gcc 4.2在使用OpenMP时似乎有严重的错误。根据我的研究,最好的解决方案应该是使用 gcc 4.8
我已经下载了 gcc 4.8 的预构建版本。我的问题是:如何将新的编译器与 Xcode 集成,以便我可以直接在 Xcode 的构建设置中选择它?
或者,有没有一种简单的方法可以使用 gcc4.8 编译我的项目?我有不同的文件和一个.xib,我真的不想手动编译所有这些文件。
我正在使用MacOS 10.8.3和Xcode 4.5.1(尽管我认为所有Xcode 4.x的过程应该相同(。
在 Xcode 的项目中,选择项目(文件的根目录,带有蓝色图标(。在打开的视图中,再次选择项目,然后选择"构建设置"选项卡。
在这里搜索条目"Compiler for C/C++/Objective-C(表格视图上方有一个搜索框(。编辑该值并为您下载的 gcc 设置自定义路径(通过选择"其他..."(。
将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
(5月应通过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.【可选步骤】:
别名 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/
[以上 4 个步骤适用于尚未安装 GCC 的开发人员]
5.制作插件
1(下载 GCC 4.5 for Xcode 的插件
2(将每个"4.5"更改为">4.8","4_5"更改为"4_8",文件名,文件内容,
除了文件中的"com.apple.compilers.gcc.headers.4_2"GCC 4.5.xcspec
.
您可以将内容保留在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"
或ExecPath = "/usr/local/Cellar/gcc48/4.8.2/bin/gcc-4.8"
(适用于通过酿造安装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.重新打开Xcode。
现在,新插件已经为您准备好了。您可以在项目的"构建设置"的"C/C++/Objective-C 编译器"中看到新的 GCC 编译器插件
8.更改 Xcode 项目中的构建设置
1(在 Xcode 的"project
"和"target
"设置中
将"Compiler for C/C++/Objective-C"更改为"GCC 4.8">
2(在project
设置中
删除"CLANG_CXX_LIBRARY"行