簡體   English   中英

XCode-C ++靜態和動態庫鏈接

[英]XCode - C++ Static & Dynamic library linking

我通過靜態鏈接XCode上的外部庫來編譯程序。 但是,我在如何動態鏈接這些庫時遇到了錯誤。

對於靜態鏈接,我做了以下工作:1.進入構建階段,使用庫鏈接二進制文件,選擇靜態.a庫2.進入“ Build”設置,並將Header Search路徑修改為頭文件目錄3.將Library搜索路徑修改為靜態庫目錄。

我編譯了程序,它可以工作。

然后,我嘗試進行動態鏈接。1.進入構建階段,使用庫鏈接二進制文件,刪除了靜態.a庫,並添加了.dylib庫(它們位於同一目錄中)。2.嘗試編譯-但是我正在使用“庫”未加載:@ loader_path /(庫名稱).dylib。原因:未找到圖像”。

我是否錯過其中一條路? 我究竟做錯了什么?

通過添加DYLD_LIBRARY_PATH環境變量來解決它。

  1. 確保動態庫與靜態庫不在同一目錄中。 這造成了沖突。 我創建了一個單獨的目錄,並將所有需要的動態庫復制到該目錄
  2. 去構建階段,將二進制文件與庫鏈接,選擇我需要的動態庫
  3. 進行構建設置,並將標題搜索路徑修改為標題文件目錄
  4. 將庫搜索路徑修改為動態庫目錄。

通過(菜單)產品->方案->編輯方案創建環境變量。 在“環境變量”下,創建一個“ DYLD_LIBRARY_PATH”變量,並將其指向我的動態庫目錄。

有用 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM