linux连接外部库时候编译,交叉编译时如何使用外部库?
關(guān)于你的一般問題:
為什么C庫有效:
C庫是交叉工具鏈的一部分。這就是找到標(biāo)題并且程序正確鏈接和運行的原因。對于其他一些非常基本的系統(tǒng)庫(如libm和libstdc)也是如此(并非在每種情況下都依賴于工具鏈配置)。
通常,在處理交叉開發(fā)時,您需要一些方法來交叉編譯所需的庫。在這種情況下使用二進制文件是非常罕見的。也就是說,特別是對于ARM硬件,因為有許多不同的配置,并且通常以不同的方式去除所有內(nèi)容。這就是為什么二進制文件在不同設(shè)備和Linux配置之間不是非常二進制兼容的原因。
如果您在Raspberry Pi上運行Ubuntu,那么您可能會在Internet上甚至在某些Ubuntu apt存儲庫中找到合適的ncurses庫。然而,典型的方法是使用您擁有的特定工具鏈交叉編譯庫。
在需要交叉編譯大量復(fù)雜庫的情況下,有一些解決方案可以讓生活變得像buildroot或ptxdist一樣簡單。這些程序為嵌入式設(shè)備構(gòu)建完整的Linux內(nèi)核和根文件系統(tǒng)。
但是,在您的情況下,只要您只想要ncurses,您就可以自己編譯源代碼。您只需要下載源代碼,在使用–host選項指定工具鏈時運行configure。 –prefix選項將選擇安裝目錄。在運行make和make install之后,考慮到一切正常,你將獲得一組頭文件和ARM編譯庫供你的應(yīng)用程序鏈接。
關(guān)于交叉編譯,你肯定會在互聯(lián)網(wǎng)上找到大量的信息,也許ncurses也在其發(fā)布的文檔中有一些指示。
總結(jié)
以上是生活随笔為你收集整理的linux连接外部库时候编译,交叉编译时如何使用外部库?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java comparator内部类_j
- 下一篇: spring cloud每次修改必须重新