簡體   English   中英

在Linux環境下構建32位和64位應用程序(C ++)

[英]Linux environment to build 32 and 64-bit application (C++)

我正在尋找有關如何為需要針對32位和64位體系結構進行編譯的Linux應用程序設置構建機器的建議。

據我所知,我需要一個可以同時構建32和64的64位OS。添加-m32標志將為32提供正確的輸出,在這里沒有挑戰。

主要問題是圖書館。 我不確定如何繼續...如何確定鏈接器正在使用32位版本的簡單庫,例如ldl,lz,lrt? 我了解我必須安裝所有版本的32位版本,然后配置鏈接器路徑。

另一個問題是編譯器,鏈接器,libc等的版本。 我是否應該使用最舊的版本,以確保所有客戶端都能正常運行? 我的意思是,如果我在最新的Debian中構建應用程序,則在較舊的Debians中將無法正常工作,對嗎?

謝謝您的幫助!

大多數具有64位版本的Linux版本也都具有32位版本,並且幾乎所有庫都可用於這兩種版本,因此您所需要做的就是將相關的32位庫與64位庫並行安裝。 在大多數情況下,路徑的配置與純64位或32位版本相同。 可能有幾個庫有問題,但是您確實需要尋找這些庫。 所有主流數據包都將具有可同時安裝32位和64位庫版本的庫。

當涉及到“哪個libc”等問題時,這是一個更困難的問題,因為這實際上取決於客戶在他們的計算機上擁有什么-您不太可能指示他們應該使用Debian,RedHat或SuSE中的一種-無論使用什么,他們都會感到非常強烈。 使用“太舊”的庫與使用“太新”的庫一樣糟糕。 通常的解決方案是構建多個版本,一個用於選定的RedHat發行版(該版本應與較新/較舊的版本(通常以及同一范圍內的Fedora版本)配合使用,僅需幾個步驟即可),Debian版本和SuSE版本,也許還有一兩個發行版。

是的,到那時,您可能要設置一台構建機,上面有幾個虛擬機,這樣您就不必擁有3、5或12個物理機。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM