无法链接到Xcode工作区中的静态库

时间:2013-10-25 13:07:51

标签: objective-c static-linking

我有一个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项目。

有没有人知道会出现什么问题?

0 个答案:

没有答案