Macos 在Mac OS X Mountain Lion上从源代码构建Python作为框架:标题错误
我在OSX10.8上从源代码构建Python(3.4开发版本)作为一个框架。我是MacOSX内部构件的新手,不明白为什么OSX框架头会导致这些错误。谁能给我一些指点吗 我在mac上使用最新版本的GNU gcc,而不是苹果提供的LLVM编译器。也许,这会导致兼容性问题Macos 在Mac OS X Mountain Lion上从源代码构建Python作为框架:标题错误,macos,frameworks,osx-mountain-lion,cpython,Macos,Frameworks,Osx Mountain Lion,Cpython,我在OSX10.8上从源代码构建Python(3.4开发版本)作为一个框架。我是MacOSX内部构件的新手,不明白为什么OSX框架头会导致这些错误。谁能给我一些指点吗 我在mac上使用最新版本的GNU gcc,而不是苹果提供的LLVM编译器。也许,这会导致兼容性问题 gcc -Wno-unused-result -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -o FileSettings.o -c .
gcc -Wno-unused-result -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -o FileSettings.o -c ./FileSettings.m
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:123:0,
from ./FileSettings.h:9,
from ./FileSettings.m:9:
/System/Library/Frameworks/Foundation.framework/Headers/NSTask.h:69:24: error: expected identifier or ‘(’ before ‘^’ token
@property (copy) void (^terminationHandler)(NSTask *) NS_AVAILABLE(10_7, NA);
^
/System/Library/Frameworks/Foundation.framework/Headers/NSTask.h:72:1: error: expected identifier before ‘end’
@end
^
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:159:0,
from ./FileSettings.h:9,
from ./FileSettings.m:9:
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:36:15: error: expected identifier or ‘(’ before ‘^’ token
typedef void (^NSUserScriptTaskCompletionHandler)(NSError *error);
^
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:37:1: error: unknown type name ‘NSUserScriptTaskCompletionHandler’
- (void)executeWithCompletionHandler:(NSUserScriptTaskCompletionHandler)handler;
^
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:53:15: error: expected identifier or ‘(’ before ‘^’ token
typedef void (^NSUserUnixTaskCompletionHandler)(NSError *error);
^
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:54:1: error: unknown type name ‘NSUserUnixTaskCompletionHandler’
- (void)executeWithArguments:(NSArray *)arguments completionHandler:(NSUserUnixTaskCompletionHandler)handler;
^
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:68:15: error: expected identifier or ‘(’ before ‘^’ token
typedef void (^NSUserAppleScriptTaskCompletionHandler)(NSAppleEventDescriptor *result, NSError *error);
^
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:69:1: error: unknown type name ‘NSUserAppleScriptTaskCompletionHandler’
- (void)executeWithAppleEvent:(NSAppleEventDescriptor *)event completionHandler:(NSUserAppleScriptTaskCompletionHandler)handler;
^
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:86:15: error: expected identifier or ‘(’ before ‘^’ token
typedef void (^NSUserAutomatorTaskCompletionHandler)(id result, NSError *error);
^
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:87:1: error: unknown type name ‘NSUserAutomatorTaskCompletionHandler’
- (void)executeWithInput:(id <NSSecureCoding>)input completionHandler:(NSUserAutomatorTaskCompletionHandler)handler;
^
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:160:0,
from ./FileSettings.h:9,
from ./FileSettings.m:9:
/System/Library/Frameworks/Foundation.framework/Headers/NSXPCConnection.h:46:11: error: expected identifier or ‘(’ before ‘^’ token
void (^_interruptionHandler)();
^
make[2]: *** [FileSettings.o] Error 1
make[1]: *** [install_PythonLauncher] Error 2
make: *** [frameworkinstallapps] Error 2
gcc-Wno未使用的结果-fno common-dynamic-DNDEBUG-g-fwrapv-O3-Wall-Wstrict原型-o FileSettings.o-c./FileSettings.m
在/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:123:0中包含的文件中,
from./FileSettings.h:9,
from./FileSettings.m:9:
/System/Library/Frameworks/Foundation.framework/Headers/NSTask.h:69:24:错误:应为标识符或“^”标记之前的“(”
@属性(副本)无效(^terminationHandler)(NSTask*)不可用(10不可用,不适用);
^
/System/Library/Frameworks/Foundation.framework/Headers/NSTask.h:72:1:错误:预期标识符在“end”之前
@结束
^
在/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:159:0中包含的文件中,
from./FileSettings.h:9,
from./FileSettings.m:9:
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:36:15:错误:应为标识符或“^”标记之前的“(”
typedef void(^NSUserScriptTaskCompletionHandler)(n错误*错误);
^
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:37:1:错误:未知类型名称“NSUserScriptTaskCompletionHandler”
-(void)executeWithCompletionHandler:(NSUserScriptTaskCompletionHandler)handler;
^
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:53:15:错误:应为标识符或“^”标记之前的“(”
typedef void(^NSUserUnixTaskCompletionHandler)(n错误*错误);
^
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:54:1:错误:未知类型名称“NSUserUnixTaskCompletionHandler”
-(void)executeWithArguments:(NSArray*)参数completionHandler:(NSUserUnixTaskCompletionHandler)handler;
^
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:68:15:错误:应为标识符或“^”标记之前的“(”
typedef void(^NSUserAppleScriptTaskCompletionHandler)(NSAppleEventDescriptor*结果,NSError*错误);
^
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:69:1:错误:未知类型名称“NSUserAppleScriptTaskCompletionHandler”
-(void)executeWithAppleEvent:(NSAppleEventDescriptor*)事件完成处理程序:(NSUserAppleScriptTaskCompletionHandler)处理程序;
^
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:86:15:错误:应为标识符或“^”标记之前的“(”
typedef void(^NSUserAutomatorTaskCompletionHandler)(id结果,N错误*错误);
^
/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:87:1:错误:未知类型名称“NSUserAutomatorTaskCompletionHandler”
-(void)executeWithiInput:(id)输入完成处理程序:(NSUserAutomatorTaskCompletionHandler)处理程序;
^
在/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:160:0中包含的文件中,
from./FileSettings.h:9,
from./FileSettings.m:9:
/System/Library/Frameworks/Foundation.framework/Headers/NSXPCConnection.h:46:11:错误:应为标识符或“^”标记之前的“(”
void(^_interruptionHandler)();
^
生成[2]:***[FileSettings.o]错误1
生成[1]:***[install_PythonLauncher]错误2
make:**[frameworkinstallapps]错误2
错误与苹果为其开发的“块”扩展完全对应。GCC(GNU版本)无法识别块出现和投诉