集成百度地圖,真機和模擬器其中一個編譯不通過


通過上邊的命令 可以把百度地圖SDK中的兩個.a文件合併爲一個,這樣就避免了在真機和模擬器上切換的麻煩

以下是百度地圖官方網站上的引入靜態庫文件的說明

引入靜態庫文件

百度地圖SDK提供了模擬器和真機兩中環境所使用的靜態庫文件,分別存放在libs/Release-iphonesimulator和libs/Release-iphoneos文件夾下。有三種方式可以引入靜態庫文件:

第一種方式:直接將對應平臺的.a文件拖拽至Xcode工程左側的Groups&Files中,缺點是每次在真機和模擬器編譯時都需要重新添加.a文件;

第二種方式:使用lipo命令將設備和模擬器的.a合併成一個通用的.a文件,將合併後的通用.a文件拖拽至工程中即可,具體命令如下: lipo -create Release-iphoneos/libbaidumapapi.a Release-iphonesimulator/libbaidumapapi.a -output libbaidumapapi.a

第三種方式:

1. 將API的libs文件夾拷貝到您的Application工程跟目錄下

2. 在Xcode的Project -> Edit Active Target -> Build -> Linking -> Other Linker Flags中添加-ObjC

3. 設置靜態庫的鏈接路徑,在Xcode的Project -> Edit Active Target -> Build -> Search Path -> Library Search Paths中添加您的靜態庫目錄,比如"$(SRCROOT)/../libs/Release$(EFFECTIVE_PLATFORM_NAME)",$(SRCROOT)宏代表您的工程文件目錄,$(EFFECTIVE_PLATFORM_NAME)宏代表當前配置是OS還是simulator

注:靜態庫中採用ObjectC++實現,因此需要您保證您工程中至少有一個.mm後綴的源文件(您可以將任意一個.m後綴的文件改名爲.mm),或者在工程屬性中指定編譯方式,即將Xcode的Project -> Edit Active Target -> Build -> GCC====- Language -> Compile Sources As設置爲"Objective-C++"

http://developer.baidu.com/map/wiki/index.php?title=iossdk/guide/hellobaidumap


發佈了28 篇原創文章 · 獲贊 5 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章