我有一个Xcode工作区,包含两个项目,JDPlayer和JDComposer。 JDComposer编译为静态库,JDPlayer需要链接到该静态库。
JDComposer构建正常,libJDComposer出现在build products目录中。然后JDPlayer编译得很好 - 但是当涉及到尝试链接到libJDComposer.a时,存在一系列问题,所有这些都是:
Undefined symbols for architecture x86_64:
"JDComposer::getSyncTypes(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&)", referenced from:
JDPlayer::getSyncTypes(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&) in JDPlayer.o
我已将libJDComposer.a添加到JDPlayer-&gt; Target-&gt; Build Phases-&gt; Link Binary With Libraries。我还将libJDComposer.a的路径添加到JDPlayer-&gt; Build Settings-&gt; Library Search Paths。
值得注意的是,libJDComposer.a有两个目标 - libJDComposeriOS和libJDComposerOSX。我正在尝试链接到libJDComposerOSX,因为JDPlayer是一个OSX项目。
有没有人知道会出现什么问题?