1. sudo apt-get install autoremove 自動刪除不需要的依賴庫。
2.ldconfig -p ??????查看當(dāng)前的共享庫緩存:
3.pkg-config , PKG_CONFIG_PATH 是什么?
??1.pkg-config,在編譯軟件時,pkg-config 會根據(jù) .pc 文件自動生成正確的 “頭文件路徑(-I/usr/include/X11)”“庫文件路徑(-L/usr/lib)” “鏈接選項(-lX11 -lXext)”
????例如,編譯依賴 libxcb 的程序時,pkg-config 會從 xcb.pc 中讀取信息,生成完整的編譯命令
??2,PKG_CONFIG_PATH,
????默認(rèn)情況下,pkg-config 只在標(biāo)準(zhǔn)路徑(如 /usr/lib/pkgconfig)中查找 .pc 文件。如果你將庫安裝到 非標(biāo)準(zhǔn)路徑(如 /usr/local/lib 或自定義目錄),需要通過 PKG_CONFIG_PATH 指定這些路徑:
????export PKG_CONFIG_PATH=/自定義路徑/lib/pkgconfig:$PKG_CONFIG_PATH
??3,舉例:
????假設(shè)你手動編譯安裝了 xcb-proto 到 /usr/local,但運(yùn)行 pkg-config --modversion xcb-proto 返回空值,說明 pkg-config 找不到它的 .pc 文件。
????添加 /usr/local/lib/pkgconfig 到 PKG_CONFIG_PATH
????export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH ##臨時生效
echo 'export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH' >> ~/.bashrc
source ~/.bashrc ##永久生效
????驗證
??????pkg-config --modversion xcb-proto # 應(yīng)輸出版本號(如 1.15.2)
pkg-config --cflags xcb-proto # 檢查頭文件路徑
pkg-config --libs xcb-proto # 檢查庫鏈接選項
pkg-config --list-all | grep xcb # 檢查是否有 riscv 的庫
4.為什么我編譯出來的xextproto沒有動態(tài)庫,只有pkgconfig文件夾
??在編譯 xextproto 時只生成了 pkgconfig 文件夾而沒有動態(tài)庫(如 libXext.so),這是 完全正常的行為.
??xextproto 是 X11 擴(kuò)展協(xié)議的描述文件(頭文件和 XML 定義),而不是一個運(yùn)行時庫。它的作用是為其他 X11 擴(kuò)展庫(如 libXext、libXfixes)提供:
????協(xié)議頭文件(如 X11/extensions/Xext.h)
????pkg-config 元數(shù)據(jù)(xextproto.pc)
???因此,它 不會生成任何動態(tài)庫(.so)或靜態(tài)庫(.a)。
5.庫libXext.so在路徑/usr/lib/x86_64-linux-gnu/libXext.so 下 和 /home/a8pillarscreen/Tool/qt_tool_xext/install/lib下分別存在,我將/home/a8pillarscreen/Tool/qt_tool_xext/install/lib添加到~/.bashrc的LD_LIBRARY_PATH中,但是locate libXext.so,只打印了 /usr/lib/x86_64-linux-gnu/libXext.so,為什么?
??locate 命令的工作原理
????locate 通過預(yù)建的數(shù)據(jù)庫(mlocate.db)搜索文件路徑,與 LD_LIBRARY_PATH 完全無關(guān),它只會顯示系統(tǒng)中實(shí)際存在的文件路徑,而不會考慮運(yùn)行時庫加載順序。
??LD_LIBRARY_PATH 的作用
????該變量僅在 程序運(yùn)行時 影響動態(tài)鏈接器(ld.so)的庫搜索順序
??為什么 locate 不顯示自定義路徑的庫?
????mlocate.db 未更新,如果庫文件是最近添加的,可能需要更新數(shù)據(jù)庫:
??????sudo updatedb # 更新 locate 數(shù)據(jù)庫(ok)
浙公網(wǎng)安備 33010602011771號