別人寫得, 先紀錄一下. reference: http://dabod.blogspot.tw/2009/06/pkg-config-cross-compiling.html 想成功的 build open source package, 一定要先搞清楚 pkg-config. 支援的 pkg-config 的 package 在安裝時會將 .pc 檔裝到 /usr/lib/pkgconfig 目錄中 (當然, 這些是指 host 端的 package), 裡面包含了有 package 的版本, header files 所在目錄, libraries 所在目錄, 相依的其他 package 名稱...可用指令 pkg-config 來 query. 使用法就不說明了, 看文件應該很容易懂才是. 在網上常看到有人在問: build XXX package 時 pkg-config 一直說找不到 OOO, 明明就有裝呀, 怎麼.... build XXX package 時 pkg-config 一直說 OOO 的版本小於 mm.nn, 明明就是 aa.bb 呀, 怎麼.... 在 cross compiler 時, 我們是不會把 build 好的 package 放在跟 host 一樣的目錄的 (不然, 同名的 file 相互 overwrite, 那 host 以後肯定出問題). 所以, 想當然爾, pkg-config 回報的 package 路徑也會不同於 native build. 上面那個找不到/版本跟預期不同的問題, 情況通常是沒有將給 target 用的 package 安裝路徑提供給 pkg-config. 怎麼給呢? "man pkg-config" 一下 PKG_CONFIG_PATH A colon-separated (on Windows, semicolon-separated) list of directories to search for .pc files. The default directory will always be searched after searching the path; the default is lib‐ dir/pkgconfig:datadir/pkg...