我一直在爲Raspberry Pi開發建立一個工具鏈。我在設置the official Raspberry Pi cross-compiler時沒有任何問題,但是現在我開始需要一些外部庫(如OpenSSL)以及最近發佈的OpenMAX庫。爲Raspberry Pi工具鏈編譯C/C++庫
將C/C++庫集成到交叉編譯器中的最簡單方法是什麼?
我一直在爲Raspberry Pi開發建立一個工具鏈。我在設置the official Raspberry Pi cross-compiler時沒有任何問題,但是現在我開始需要一些外部庫(如OpenSSL)以及最近發佈的OpenMAX庫。爲Raspberry Pi工具鏈編譯C/C++庫
將C/C++庫集成到交叉編譯器中的最簡單方法是什麼?
好的,所以我找到了使用第三方庫與交叉編譯器的方法,但它看起來並不理想。基本上,我剛剛安裝了我所需要的庫到我的樹莓派(運行Arch Linux的)
pi:# pacman -S libssl-dev
然後使用
pi:# tar -zcvf include.tar.gz /usr/include
pi:# tar -zcvf lib.tar.gz /usr/lib
壓縮我的皮的包括和lib目錄。
接下來,我通過sftp
複製他們交給我的本地機器(i686的運行Debian擠)運行交叉編譯:
debian:$ sftp [email protected]<pi_ip_address>:/usr/include.tar.gz
debian:$ sftp [email protected]<pi_ip_address>:/usr/lib.tar.gz
我備份使用命令交叉編譯器的include
和lib
目錄(如根,因爲我的跨目錄在/opt
)
debian:# tar -zcvf OLDinclude.tar.gz ./include
debian:# tar -zcvf OLDlib.tar.gz ./lib
和proceded從郫縣檔案提取到交叉編譯的sysroot/usr/
目錄。
最後,爲了測試它是否工作,我使用庫編譯了一個程序,使用<cross>-gcc
和<cross>-g++
。 。 。它的工作!現在,我可能會寫一個bash腳本來爲我處理大部分這些步驟。如果有人對如何簡化這一過程有任何建議,請告知。
注:對於其他Linux新人我一樣,'$'
代表正常用戶殼,而'#'
表示超級用戶(即根)殼。普通用戶可以使用su
命令升級到超級用戶。
會不會覆蓋主機系統庫? – 10robinho 2013-04-03 06:22:50