我有一個Xcode項目,它本質上是一個單獨的應用程序,它被內置到幾個幾乎相同的目標中。我已經在中心位置移動了幾乎所有的配置設置,但我無法弄清楚如何將鏈接與靜態庫(libMantle.a)移動到xcconfig。我已經嘗試了-framework
和-l
標誌,就像我用於各種其他庫一樣,但它們不起作用。有沒有辦法讓.a文件脫離Link Binary with Libraries窗格,所以我不需要手動同步所有的目標?在xcconfig中使用靜態庫鏈接二進制文件
5
A
回答
2
想通了......
比方說,你要對文件libGoogleAnalyticsServices.a
鏈接。基本上有三件事你應該在你的.xcconfig中使它工作。
首先,您要確保在搜索路徑中具有庫的路徑。然後您需要通過兩個標誌使鏈接器開心-L
與目錄的路徑,並且-l
與庫。
全部放在一起會得到你的東西,如:
LIBRARY_SEARCH_PATHS = $(inherited) "$(SRCROOT)/Vendor/Google Analytics"
OTHER_LDFLAGS = $(inherited) -L"$(SRCROOT)/Vendor/Google Analytics" -lGoogleAnalyticsServices
(您需要調整您的相對路徑)
中得到最有用的東西整理出了這是日誌Navigator(Xcode中的命令+ 8)。通過將靜態庫放入構建階段Link Binary With Libraries
面板併成功構建,您可以查看日誌中鏈接器步驟的詳細信息,並查看它是如何將Analytics庫傳遞給編譯器的。從那裏它只是在xcconfig中複製這些標誌。
相關問題
- 1. 創建使用getaddrinfo的靜態鏈接二進制文件?
- 2. 靜態庫的鏈接二進制不鏈接與的CocoaPods
- 3. 在XCode中使用靜態庫時必須鏈接二進制庫兩次
- 4. 如何添加靜態庫.a文件鏈接二進制與庫中的cocoapod
- 5. 靜態鏈接二進制文件中缺少調試符號
- 6. 靜態鏈接vips(libvips)二進制
- 7. 編譯Xvfb的靜態鏈接二進制文件
- 8. 靜態鏈接的二進制文件 - 分段錯誤
- 9. xcconfig中的iOS鏈接庫
- 10. 靜態鏈接64位glibc庫到二進制
- 11. 如何靜態鏈接使用加密/ tls的Go二進制文件?
- 12. 軌道靜態二進制文件
- 13. 在靜態二進制文件上使用dlsym
- 14. 將動態鏈接的精靈二進制轉換爲靜態鏈接
- 15. Linux:是否可以使用靜態鏈接的二進制文件進行一些面向插件的編程?
- 16. 靜態鏈接庫
- 17. 鏈接靜態庫與靜態庫
- 18. UNIX:靜態庫鏈接到靜態庫
- 19. GHC:爲ARM和MIPS處理器靜態鏈接Linux二進制文件
- 20. 在gcc中同時使用靜態鏈接庫和動態鏈接庫
- 21. 靜態編譯庫到二進制文件?
- 22. 鏈接單獨的二進制文件
- 23. 什麼是靜態庫,靜態鏈接動態庫和動態鏈接動態庫的.lib文件?
- 24. 鏈接到Expressjs中的靜態文件中的靜態文件
- 25. g ++鏈接器:如果靜態庫存在,強制靜態鏈接?
- 26. 使用-l標誌鏈接靜態庫
- 27. 如何使用SCons鏈接靜態庫?
- 28. 靜態庫鏈接問題使用eclipse
- 29. 使用GCC與靜態鏈接庫
- 30. 如何使用WAF鏈接靜態庫?
請問你如何處理各種目標的源文件?你是否也將它們添加到xcconfig文件中?這甚至有可能嗎? – vinzenzweber
目標特定的xcconfig文件變得非常混亂,因爲沒有真正的好辦法。不過,我很少有項目的目標具有完全不同的圖書館依賴項目。你想要做什麼? – farski
我有一個有9個目標的項目。我只需要這些目標爲每個目標設置一個單一的預處理器宏。主要是爲不同的環境(開發,分期,製作)更改基礎API URL。所以我很想擁有一個指定基本構建配置的文件,其中包括要複製的所有源文件和資源。 – vinzenzweber