C C 開發中使用第三方庫常見問題總結

2022-04-04 02:27:58 字數 1068 閱讀 9154

本篇包含linux 與 windows 下動態編譯問題,不涉及靜態編譯問題。

*.cpp/*.c --> .o //原始檔生成obj檔案

除了語法錯誤以外,包含相應的標頭檔案即可編譯通過。

#windows: visual studio

專案-->屬性--> vc++目錄-->包含目錄-->新增相應的目錄

#linux

g++ ... -ipath1 -ipath2 ...

當然,系統可以配置一些預設包含目錄。

將obj檔案鏈結起來,並鏈結一些其他庫中的obj檔案。

windows 下的連線檔案:*.lib

linux 下的鏈結檔案:*.so (shared object)。被稱之為共享函式庫,在鏈結和程式執行時都需要用到。

1 專案-->屬性-->vc++目錄-->庫目錄-->新增相應的目錄

-l lib_path -l#libname 是*.so 檔案去掉字首lib和.so的名字

library_path 

#注意和ld_library_path的區別,library_path是在編譯時需要的,

#ld_library_path是在執行時需要的。

#新增方法三種:

1、當前shell有效: export $library_path:2、當前使用者有效: 將上面一局寫入 ~/.bashrc; source ~/.bashrc #啟用

基本思想:exe檔案要能找到相應的 dll 檔案或者 .so 檔案。

將所有的dll或者so檔案copy到exe檔案所在目錄下,注意:執行時的工作目錄不在這個檔案下也是會出錯的,如/root//*.exe ,會報找不到.so檔案或者dll檔案。

將dll或者so檔案copy到系統目錄中,c:\windows\system* 或者 /usr/lib 等。

windows下新增環境變數,linux 新增ld_library_path,方法與library_path 相似, 也可以新增到/etc/profile 裡, 參考這裡。

整合第三方庫常見問題

a 檔案不支援 64 位,需要你找到原始碼,或者編譯出來的64位包 但凡打包.a 檔案的時候,如果使用了category,容易出現編譯正確,但是一開啟就崩潰的問題需要做如下處理 other linker flags 設定項,雙擊新增這兩個標誌 objc與 all load 在cornerstone的...

安裝第三方模組常見問題

pip install 第三方模組名,例如pymysql 1 報pip不是內部或外部命令 原因是沒加環境變數 1 python.exe的目錄加到環境變數 2 python.scripts的目錄加到環境變數 2 提示unknown or unsupported command install 1 在c...

Python安裝第三方庫及常見問題處理方法彙總

原始碼安裝 python第三方庫幾乎都可以在github或者 pypi上找到原始碼。原始碼包格式大概有zip tar.zip tar.bz2。解壓這些包,進入解壓好的資料夾,通常會有乙個setup.py的檔案。開啟命令列,進入該資料夾。執行以下命令,就能把這個第三庫安裝到系統裡 python set...