替代XCode的其他链接器标志中的all_load

时间:2012-05-30 02:38:49

标签: ios xcode

我正在将Rdio添加到我的iOS应用中,而且我仍然坚持安装的这一部分:

  

在项目构建信息中的其他链接器标志下添加-all_load

如果我添加该标志,那么另一个第三方库会中断给我错误消息:

  

ld:/ Users / josh /中的重复符号_vw_chartype_table_p   Projects / app / libs / libvt_universal.a(vw_ctype-3279EF26D0C25F3A.o)和/   用户/乔希/项目/应用程序/库/   架构i386的libvt_universal.a(vw_ctype-34AB9EC0B46D954C.o)

有没有办法在不使用-all_load的情况下使用Rdio库?例如,我尝试了-force_load $(BUILT_PRODUCTS_DIR)/Rdio.framework但似乎没有效果。

1 个答案:

答案 0 :(得分:15)

force_load正是你想要的 - 它允许你只加载那个框架而不会搞乱任何其他东西。问题在于确切的语法以及对您的设置进行的一些其他意外调整。

-force_load语法

强制加载应该是目标文件的路径,而不是框架。

-force_load $(SOURCE_ROOT)/AppName/libs/Rdio.framework/Versions/Current/Rdio

其他设置

  1. 从'Link Binary with Libraries'构建阶段删除Rdio.framework
  2. 从我的LIBRARY_SEARCH_PATHS中删除'/libs/Rdio.framework'