網上大眾的作法這裡不做介紹
在編譯一些庫的時候可能某些工具會用到宿主機的,而這些工具在呼叫的時候會找和宿主機匹配的庫,而交叉編譯的庫是不能用的,
遇見這種情況基本是解決不了的,但是可以通過configure 的選項去掉這些過程,舉個例子:
我在編譯 udev 的時候 用到 g-ir-scanner 這個指令碼,之後就提示找不到 libudev,libffi,libz,而這些在我的環境變數裡面是包含了的
檢視 configure --help 之後 把--disable-introspection 加上,就可以跳過這一步,順利通過。
這種問題在configure階段可以加在 -l 選項中,如果configure過了,說明可以找到這些庫,make沒有通過,基本就是某個工具環境的問題了。
另外有時候會提示某個檔案不能執行,這些可執行檔案就很可能是在make階段生成的(100%),而交叉編譯生成的在宿主機上面肯定是不能執行的,
可以用file命令檢視檔案屬性,這個問題可以先在宿主機make一遍,然後把生成的可執行檔案直接拷貝到交叉編譯的環境下,不要make clean,否則會自動刪除。
Linux 編譯找不到標頭檔案
linux下使用gcc編譯找不到標頭檔案,但是檢視 系統標頭檔案件存放目錄 usr local include 發現標頭檔案確實存在,這是為什麼呢?這是因為linux下的預設標頭檔案路徑 不包含 usr local include,預設包含的是 usr include usr local 是用來存放...
關於找不到庫檔案
系統 centos 6.3 有時我們執行某個程式時出現缺少庫檔案的報錯,如下 error while loading shared libraries libcrypto.so.10 cannot open shared object file no such file or directory 遇...
centos編譯libcurl庫找不到ssl的問題
configure with ssl usr local ssl ssl support no with 發現ssl預設只編譯了靜態庫,沒有動態庫,所以編譯ssl的時候執行 config shared make make install 然後設定動態庫路徑export ld library path...