我可以 link 到 Scout Maps 和 Google Maps 吗?
Can I link to ScoutMaps and GoogleMaps?
如果您设置了一个具有以下 Podfile 的测试项目(称为 skobblerGoogleMapTest):
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, :deployment_target => '6.0'
pod 'ScoutMaps-iOS-SDK'
pod 'GoogleMaps'
link_with ['skobblerGoogleMapTest']
您将收到以下一组 link 错误:
duplicate symbol ___gl_noBeginData in:
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(tess.o)
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/ScoutMaps-iOS-SDK/SKMaps.framework/SKMaps(tess.o)
duplicate symbol ___gl_noEdgeFlagData in:
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(tess.o)
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/ScoutMaps-iOS-SDK/SKMaps.framework/SKMaps(tess.o)
duplicate symbol ___gl_noVertexData in:
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(tess.o)
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/ScoutMaps-iOS-SDK/SKMaps.framework/SKMaps(tess.o)
duplicate symbol ___gl_noEndData in:
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(tess.o)
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/ScoutMaps-iOS-SDK/SKMaps.framework/SKMaps(tess.o)
duplicate symbol ___gl_noErrorData in:
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(tess.o)
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/ScoutMaps-iOS-SDK/SKMaps.framework/SKMaps(tess.o)
duplicate symbol ___gl_noCombineData in:
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(tess.o)
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/ScoutMaps-iOS-SDK/SKMaps.framework/SKMaps(tess.o)
ld: 6 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
所以看起来 ScoutMaps 和 GoogleMaps 都 linking 到定义这些符号的 tess.c(某种 GL tessellator 回调机制?O_o)。
我想 ScoutMaps(或 GoogleMaps,虽然不太可能;))可以用不同的名称定义这些回调?
如果 ScoutMaps 的人看到了这个,那就太棒了。
确实,使用比 Google Maps SDK 1.10.1 - 2015 年 6 月更旧的版本会出现此问题。尝试使用 Google Maps SDK 的 1.10.0 版本。
Google停止支持iOS6,所以这一行:
platform :ios, :deployment_target => '6.0'
导致下载旧版本的库。将其更改为:
platform :ios, :deployment_target => '7.0'
一切正常。
如果您设置了一个具有以下 Podfile 的测试项目(称为 skobblerGoogleMapTest):
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, :deployment_target => '6.0'
pod 'ScoutMaps-iOS-SDK'
pod 'GoogleMaps'
link_with ['skobblerGoogleMapTest']
您将收到以下一组 link 错误:
duplicate symbol ___gl_noBeginData in:
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(tess.o)
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/ScoutMaps-iOS-SDK/SKMaps.framework/SKMaps(tess.o)
duplicate symbol ___gl_noEdgeFlagData in:
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(tess.o)
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/ScoutMaps-iOS-SDK/SKMaps.framework/SKMaps(tess.o)
duplicate symbol ___gl_noVertexData in:
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(tess.o)
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/ScoutMaps-iOS-SDK/SKMaps.framework/SKMaps(tess.o)
duplicate symbol ___gl_noEndData in:
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(tess.o)
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/ScoutMaps-iOS-SDK/SKMaps.framework/SKMaps(tess.o)
duplicate symbol ___gl_noErrorData in:
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(tess.o)
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/ScoutMaps-iOS-SDK/SKMaps.framework/SKMaps(tess.o)
duplicate symbol ___gl_noCombineData in:
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(tess.o)
/Users/tomhorn/dev/skobblerGoogleMapTest/Pods/ScoutMaps-iOS-SDK/SKMaps.framework/SKMaps(tess.o)
ld: 6 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
所以看起来 ScoutMaps 和 GoogleMaps 都 linking 到定义这些符号的 tess.c(某种 GL tessellator 回调机制?O_o)。
我想 ScoutMaps(或 GoogleMaps,虽然不太可能;))可以用不同的名称定义这些回调?
如果 ScoutMaps 的人看到了这个,那就太棒了。
确实,使用比 Google Maps SDK 1.10.1 - 2015 年 6 月更旧的版本会出现此问题。尝试使用 Google Maps SDK 的 1.10.0 版本。
Google停止支持iOS6,所以这一行:
platform :ios, :deployment_target => '6.0'
导致下载旧版本的库。将其更改为:
platform :ios, :deployment_target => '7.0'
一切正常。