使用这些单独的配置:
./configure -platform macx-g++ -arch x86
./configure -platform macx-g++ -arch i386 -arch x86_64 -sdk /Developer/SDKs/MacOSX10.5.sdk -release
在 OS X Leopard (10.5) 下使用时,我在尝试制作 QT 4.8 时遇到以下构建错误:
/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:50:
error: expected unqualified-id before ‘[’ token
/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:50:
error: abstract declarator ‘_CALayerTransaction*’ used as declaration
/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:50:
error: expected ‘;’ before ‘[’ token
/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:50:
error: expected unqualified-id before ‘[’ token
/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:50:
error: abstract declarator ‘_CALayerTransaction*’ used as declaration
/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:50:
error: expected ‘;’ before ‘[’ token
platform/graphics/mac/MediaPlayerPrivateQTKit.mm: In static member
function ‘static void
WebCore::MediaPlayerPrivateQTKit::getSitesInMediaCache(WTF::Vector<WTF::String,
0ul>&)’:
platform/graphics/mac/MediaPlayerPrivateQTKit.mm:1514: warning: Mac OS
X version 10.5 or later is needed for use of
foreach-collection-statement
lipo: can't open input file:
/var/folders/kW/kWtAUN43HtqED7ITylqlo++++TM/-Tmp-//ccbBnUJg.out (No
such file or directory)
make[2]: *** [.obj/release-shared/MediaPlayerPrivateQTKit.o] Error 1
make[1]: *** [sub-WebCore-make_default-ordered] Error 2
make: *** [sub-webkit-make_default-ordered] Error 2
非常欢迎提出想法。
最佳答案
这是 Qt 4.8 中的一个已知错误: https://bugreports.qt-project.org/browse/QTBUG-23258
您需要应用报告中包含的补丁或等待 Qt 修复它。
关于qt - 无法在 OS X Leopard (10.5) 下构建 Qt 4.8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9609116/