我正在开发一款 iOS 游戏,并集成了 admob/iAd/和 flurry 来转换广告。我正在使用 admob 中介来转换来自这些提供商的广告。
问题是,当我尝试针对模拟器进行测试时,我遇到了很多这样的链接器错误。 . .
重复符号 _utf8_check_string 在: /Users/omersaeed/Library/Developer/Xcode/DerivedData/EscapeToArae-drmhiearnycapsfamyakifandjod/Build/Intermediates/EscapeToArae.build/Debug-iphonesimulator/EscapeToArae.build/Objects-normal/i386/utf.o /Users/omersaeed/projects/gamechefs/cocos2d-x-2.2/projects/e2a/customlibs/Flurry-iOS-4.3.0/FlurryAds/libFlurryAds_4.3.0.a(libExternalSDKs.a-i386-master.o)
所有错误都与重复符号有关,并且都与 libFlurryAds 库有关。
有趣的是,如果我直接在设备上运行,我可以完美地链接和运行游戏。
删除 Flurry 库可以解决问题。
知道为什么当我在模拟器上运行而不是在设备上运行时会弹出问题吗?
最佳答案
所以最终发现我在源代码中使用了一个名为 jansson 的库(用于 JSON 解析),同样的库显然包含在 libFlurryAds 中,因此我遇到了重复的符号错误。我最终删除了 jansson 并将其替换为另一个更简单的 JSON 阅读器。
关于c++ - 尝试链接 libFlurryAds 时链接器错误 Duplicate Symbol,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20193142/