Xcode 8中缺少libsystem_symptoms.dylib

Mic*_*ane 16 xml macos xcode

我刚刚更新到Xcode 8,我不能再构建基于xml2的应用程序了.如果我构建一个简单的文件并尝试按如下方式构建它:

c++ myapp.cc `xml2-config --cflags` `xml2-config --libs`
Run Code Online (Sandbox Code Playgroud)

...我收到以下错误消息:

ld: file not found: /usr/lib/system/libsystem_symptoms.dylib for architecture x86_64
Run Code Online (Sandbox Code Playgroud)

myapp.cc中的内容并不重要(我的主程序只返回0).根问题似乎是Apple在Xcode 8中删除了/usr/lib/system/libsystem_symptoms.dylib,但/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/中的许多.tbd文件SDKs/MacOSX10.12.sdk/usr/lib仍然指向它.有没有其他人遇到这样的问题?

Ray*_*eef 15

@mnencia回答可以删除对libsystem_symptomps.dylib的引用,但是对于我来说使用OS X失败了.更改以下内容应该允许它在OS X上工作:

sudo /usr/bin/sed -i.backup -E -e 's@/usr/lib/system/libsystem_symptoms.dylib(, )?@@' \
$(grep -ril /usr/lib/system/libsystem_symptoms.dylib \
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib)
Run Code Online (Sandbox Code Playgroud)

希望这有助于Mac开发人员.


mne*_*cia 3

这是 XCode 8 的一个错误。

在等待 Apple 的正确修复时,以下命令将从 tbd 文件中删除对缺失库的引用。

sudo /usr/bin/sed -i.backup 's@/usr/lib/system/libsystem_symptoms.dylib\(, \)\?@@' \
  $(grep -ril /usr/lib/system/libsystem_symptoms.dylib \
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib)
Run Code Online (Sandbox Code Playgroud)

我不知道它是否适用于每种类型的构建,但它修复了所有对我不起作用的问题。