0

我在同一个项目中使用 2 个库。一个需要设置键“Other Linker Flags”,一个不需要。

对于第一个库,“Other Linker Flags”必须设置为“-ObjC”和“-all_load”才能正常运行。但如果是这样,第二个库会出现编译错误:

ld:在 /Users/Applehouse/working/joshibu/svn/B_SOURCE/ProGir/ProGir/CCIAd/libCCIMobile-Release.a(TagParser.o) 和 /Users/Applehouse/working/joshibu/svn/B_SOURCE/ProGir 中重复符号 _parseAdvertizeTag /ProGir/CCIAd/libCCIMobile-Debug.a(TagParser.o) 架构 i386 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

仅当我设置标志时才会发生错误。如果我不使用第一个库,我将“Other Linker Flags”设置为无值,没有错误,第二个库运行正常。

我如何解决它?

谢谢你。

4

2 回答 2

3

仔细查看错误信息。您同时链接库的调试 (libCCIMobile-Debug.a) 和发布 (libCCIMobile-Release.a) 版本。

仅链接您的调试版本的调试版本,并且仅链接您的发布版本的发布版本。

于 2012-06-04T03:26:54.013 回答
0

您在一个目标中包含两个库。那是错误的。

因为在这两个库中有许多相同的值。首先是 _parseAdvertizeTag 错误。

您必须仅在 1 个目标中使用 libCCIMobile-Release.a 或 libCCIMobile-Debug.a

于 2012-06-04T04:53:18.300 回答