2

我在带有 facebook-ios-sdk 的 iOS 应用程序中使用 MGTwitterEngine oAuth 和 LinkedIn iOS SDK

TwitterEngine:https ://github.com/bengottlieb/Twitter-OAuth-iPhone

LinkedInIphone:https ://github.com/ResultsDirect/LinkedIn-iPhone

两者都分别集成得很好,但是当我在应用程序中同时使用两者时,就会出现错误

  • FB + Twitter = 运作良好
  • FB + LinkedIn = 工作良好
  • FB + Twitter + LinkedIn = 不工作并给出错误:

命令 /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 失败,退出代码为 1

请帮助我哪里错了。

相关帖子

编辑

错误记录文本文件

使用配置Debug构建项目butterfli的butterfli

ld build/Debug-iphonesimulator/butterfli.app/butterfli 正常 i386
cd /Users/pratgupta/Desktop/Settinglinkedin/10_mar_butterfli
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk -L/Users/pratgupta/Desktop/ Settinglinkedin/10_mar_butterfli/build/Debug-iphonesimulator "-L/Users/pratgupta/Desktop/Settinglinkedin/10_mar_butterfli/Twitter+OAuth/Libraries & Headers" -F/Users/pratgupta/Desktop/Settinglinkedin/10_mar_butterfli/build/Debug-iphonesimulator -文件列表 /Users/pratgupta/Desktop/Settinglinkedin/10_mar_butterfli/build/butterfli.build/Debug-iphonesimulator/butterfli.build/Objects-normal/i386/butterfli.LinkFileList -mmacosx-version-min=10。6 -all_load -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework CoreGraphics -lOAuth -lxml2 /Users/pratgupta/Desktop/Settinglinkedin/10_mar_butterfli/LinkedInClientLibrary/build/Debug-iphonesimulator/libLinkedInClientLibrary.a -o /Users/ pratgupta/Desktop/Settinglinkedin/10_mar_butterfli/build/Debug-iphonesimulator/butterfli.app/butterfli

ld:重复符号 _EstimateBas64EncodedDataSize 在 /Users/pratgupta/Desktop/Settinglinkedin/10_mar_butterfli/LinkedInClientLibrary/build/Debug-iphonesimulator/libLinkedInClientLibrary.a(Base64Transcoder.o) 和 /Users/pratgupta/Desktop/Settinglinkedin/10_mar_butterfli/Twitter+OAuth/Libraries & 标头/libOAuth.a(Base64Transcoder.o)
collect2: ld 返回 1 个退出状态
命令 /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 失败,退出代码为 1

阿米特巴坦

4

3 回答 3

1

@amit 正如我已经说过的, EstimateBas64EncodedDataSize这个函数在 2 个源文件中定义... 1 个定义源文件来自 LinkedIn 源,1 个定义来自 twitter 源文件...您需要在您的项目并删除其中定义了这些函数的两个特定包中的一个,并且很可能是 Base64Encoding 相关文件,这些文件在您的项目中添加了两次,这会使编译器混淆用于该特定函数的定义......

于 2011-03-11T05:07:18.797 回答
1

基本问题是我们的 LinkedIn 库和 Ben Gottlieb 的 Twitter 客户端都包含相同的 OAuthConsumer 代码。事实上(正如 README 中所说)LinkedIn-iPhone中的代码实际上是从他的项目中复制而来的,并带有他的更改。

在这种情况下,应该可以通过删除我们的代码副本(整个OAuthConsumeriPhoneLib文件夹)来使其工作。您可能还需要更改#import源代码中的行或项目的标头搜索路径,以使我们的代码从他的代码副本中找到 OAuthConsumer 标头。

(我承认这很痛苦。但我们想确保我们的代码可以开箱即用,而无需安装其他东西。)

于 2011-03-11T18:24:23.230 回答
0

“重复符号”意味着你的一个班级正在#import一些不应该做的事情。如果你仔细看,两者都表示相同的方法“_EstimateBas64EncodedDataSize”。检查您的#imports。libLinkedInClientLibrarylibOAuth

于 2011-03-11T05:03:48.280 回答