如何获得gcc 4.5(从源代码编译)在Mac OS X上使用Objective C | C ++程序?

时间:2010-11-02 20:14:56

标签: objective-c macos gcc

任何人,

我无法使用gcc 4.5在Mac OS 10.6.4上编译某些软件包,例如WxWidgets(从源代码编译,而不是使用所有默认语言和Obj-C ++从MacPorts,Fink等编译)。通常,在尝试针对Foundation框架进行编译时,会出现以下错误:

/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:123:35:error: expected ‘;’ before ‘__attribute__’
/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:138:1:error: stray ‘@’ in program
/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:139:1:error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘-’ token In file included from main2.m:2:0:
/System/Library/Frameworks/Foundation.framework/Headers/NSString.h:139:63:error: expected ‘;’ before ‘__attribute__’

我在Mac上有点新的开发(更多使用Linux和Windows的经验)。现在,我不需要使用Objective-C或Objective-C ++。它只是妨碍了能够编译其他软件包(尽管我可能想要开始使用它)。如果有人有任何想法我会很感激。谢谢。

2 个答案:

答案 0 :(得分:2)

您......不知道。 GNU的GCC在Objective-C运行时支持方面与Apple的GCC不兼容。您将获得GNU Objective-C运行时兼容性问题。

我强烈建议你不要使用C ++ 0x功能,直到新标准是...标准,而不是草稿。不要指望编译器支持所有平台上的草稿功能。

答案 1 :(得分:0)

在Lion上,我可以使用brew安装gcc 4.7。我不知道它是否适用于雪豹。

您可以尝试从homebrew-dupes容器安装它:

brew install --use-llvm --enable-cxx https://raw.github.com/Homebrew/homebrew-dupes/master/gcc.rb

在Lion上启用了c和c ++,成功编译了gcc 4.7。