【问题标题】:XCode 3.2 configuration still accessing OS X 10.4 framework when 10.5 is selected选择 10.5 时,XCode 3.2 配置仍访问 OS X 10.4 框架
【发布时间】:2009-09-22 09:26:30
【问题描述】:

我想尝试使用 10.5 中引入的一些功能(如 Core Text),因此我将 Base SDK 和 Deployment 目标都设置为 Mac OS X 10.5 我还确定所有引用的框架都有相对于所选 SDK 的路径,并且工具提示目前还说它正在查找 10.5 文件夹。

但是,当我尝试编译它时,我收到了各种警告和错误,使其看起来仍然在引用 10.4:

/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h:1492:0 /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h:1492: warning: 'OTSetNBPEntityFromAddress' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h:1172)

.../code/utils/modules/Skins/SkinFont.h:36:0 .../code/utils/modules/Skins/SkinFont.h:36: error: 'CTFontRef' does not name a type

更奇怪的是,这在“调试”配置中不起作用,但它在另一个配置中成功运行。 我比较了所有的配置设置,但没有发现任何差异。

有人知道我是否应该寻找其他地方吗?

编辑:我确实从其他人那里发现了一个类似的问题,但不幸的是还没有有用的回复: http://lists.apple.com/archives/xcode-users/2009/Sep/msg00200.html

Edit2:这是编译器输出,我已经删除了一些警告,因为提到了大约 50 个已弃用的函数。

CompileC build/Test10_4.build/Debug/djDecks_Mac.build/Objects-normal/i386/DJDecksVideoRenderer.o ../code/utils/modules/djDecks/DJDecksVideoRenderer.cpp normal i386 c++ com.apple.compilers.llvmgcc42 cd /Users/gwenroelants/Test10_4 setenv LANG en_US.US-ASCII /Developer/usr/bin/llvm-gcc-4.2 -x c++ -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -Wreturn-type -Wunused-variable -DHAVE_STRERROR -DUSEFFMPEG -D__MACOSX__ -isysroot /Developer/SDKs/MacOSX10.5.sdk -mfix-and-continue -msse3 -fvisibility-inlines-hidden -mmacosx-version-min=10.5 -gdwarf-2 -I/Users/gwenroelants/Test10_4/build/Test10_4.build/Debug/djDecks_Mac.build/djDecksForMac.hmap -F/Users/gwenroelants/Test10_4/build/Debug -F/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks -I/Users/gwenroelants/code/lib/ffmpeg/ffmpeg -I/Users/gwenroelants/code/lib/flac/src/libFLAC/include -I/Users/gwenroelants/code/lib/flac/include -I/Users/gwenroelants/Test10_4/build/Debug/include -I/Users/gwenroelants/Test10_4/build/Test10_4.build/Debug/djDecks_Mac.build/DerivedSources/i386 -I/Users/gwenroelants/Test10_4/build/Test10_4.build/Debug/djDecks_Mac.build/DerivedSources -isysroot /Developer/SDKs/MacOSX10.5.sdk -include /var/folders/Hh/Hhx2ce3OHReLY+QJa3OmM++++TI/-Caches-/com.apple.Xcode.501/SharedPrecompiledHeaders/Test10_4_Prefix-cqnssmqwhfbgbtdcgyppeyqdmggp/Test10_4_Prefix.pch -c /Users/gwenroelants/Test10_4/../code/utils/modules/djDecks/DJDecksVideoRenderer.cpp -o /Users/gwenroelants/Test10_4/build/Test10_4.build/Debug/djDecks_Mac.build/Objects-normal/i386/DJDecksVideoRenderer.o Headers/OSServices.h:46, from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:28, from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioFile.h:27, from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioToolbox.h:22, from /Users/gwenroelants/Test10_4/../code/utils/modules/AudioDecoder/AudioDecoder.h:37, from /Users/gwenroelants/Test10_4/../code/utils/modules/Audio/player.h:10, from /Users/gwenroelants/Test10_4/../code/utils/modules/Audio/FModPlayer.h:9, from /Users/gwenroelants/Test10_4/../code/utils/modules/djDecks/DJDecksPlayer.h:9, from /Users/gwenroelants/Test10_4/../code/utils/modules/djDecks/DJDecksVideoRenderer.h:9, from /Users/gwenroelants/Test10_4/../code/utils/modules/djDecks/DJDecksVideoRenderer.cpp:7: /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h: In member function 'OSStatus TInternetServices::StringToAddress(char*, InetHostInfo*)': /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h:581: warning: 'OTInetStringToAddress' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h:504) /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h: In member function 'OSStatus TInternetServices::Query(char*, UInt16, UInt16, char*, OTByteCount, void**, OTByteCount, OTFlags)': /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h:596: warning: 'OTInetQuery' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h:571) /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h:596: warning: 'OTInetQuery' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h:571) /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h: In member function 'OSStatus TAppleTalkServices::GetMyZone(TNetbuf*)': /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h:903: warning: 'OTATalkGetMyZone' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h:846) OpenTransportProviders.h:1492: warning: 'OTSetNBPEntityFromAddress' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h:1172) /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h:1492: warning: 'OTSetNBPEntityFromAddress' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransportProviders.h:1172) In file included from /Users/gwenroelants/Test10_4/../code/utils/modules/Skins/SkinObject.h:15, from /Users/gwenroelants/Test10_4/../code/utils/modules/Skins/SkinTab.h:10, from /Users/gwenroelants/Test10_4/../code/utils/modules/Skins/SkinTabGroup.h:11, from /Users/gwenroelants/Test10_4/../code/utils/modules/Skins/SkinWindow.h:12, from /Users/gwenroelants/Test10_4/../code/utils/modules/Skins/Skin.h:12, from /Users/gwenroelants/Test10_4/../code/utils/modules/djDecks/DjDecks.h:11, from /Users/gwenroelants/Test10_4/../code/utils/modules/djDecks/DJDecksPlayer.h:16, from /Users/gwenroelants/Test10_4/../code/utils/modules/djDecks/DJDecksVideoRenderer.h:9, from /Users/gwenroelants/Test10_4/../code/utils/modules/djDecks/DJDecksVideoRenderer.cpp:7: /Users/gwenroelants/Test10_4/../code/utils/modules/Skins/SkinFont.h: At global scope: /Users/gwenroelants/Test10_4/../code/utils/modules/Skins/SkinFont.h:36: error: 'CTFontRef' does not name a type /Users/gwenroelants/Test10_4/../code/utils/modules/Skins/SkinFont.h:37: error: 'CTFontRef' does not name a type

【问题讨论】:

  • Apple 支持对此问题进行了回复,要求提供更多信息。您提供的错误消息以及您尚未提供的构建中的链接
  • 苹果列表上不是我的问题,我也没有订阅邮件列表,所以我也不能在那里添加回复。

标签: xcode macos frameworks


【解决方案1】:

在不起作用的配置中,在 Build Settings 搜索字段中输入“10.4”,看看会出现什么。我希望框架搜索路径构建设置在某处有一个到 10.4 SDK 的显式路径。

拥有编译器调用的文本确实会有所帮助,只需拖放失败的“编译”构建步骤即可。

更新

感谢您发布日志。里面很清楚:

-F/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks

这意味着您有一个直接指向 10.4u SDK 的框架搜索路径,即使您使用的是 10.5 SDK。您必须通过您的目标和项目框架搜索路径并找到此路径并将其删除。

【讨论】:

  • 我将编译器输出添加到问题中。搜索 10.4 会显示 Mac OS X 部署目标设置,这有点奇怪,因为它显然是在 Mac OS X 10.5 中设置的
  • 更新:我设法通过在文本编辑器中编辑项目配置文件并将 10.4 引用更改为 10.5 来修复它。
【解决方案2】:

我遇到了同样的问题。而我的解决方案...

转到 Project->Edit project settings...并查找 Base SDK(在 Architectures 下)。因为我使用的是 10.6,所以我将我的更改为“Mac OS X 10.6”,一切都开始工作了。

【讨论】:

    【解决方案3】:

    我的猜测(根据我自己的经验)是目标、项目和配置并不完全一致。我还没有弄清楚哪个优先于另一个......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 2010-09-14
      • 2017-04-13
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      • 2011-07-14
      相关资源
      最近更新 更多