2012-08-27 183 views
0

我在debian 6.0發行版上開發我的C++服務應用程序,我也在debian 6.0上編譯二進制文件; 這個二進制可以在debian 5.0發行版上正常工作嗎?Linux二進制兼容性

+10

完全取決於所使用的庫 – Najzero

回答

2

更好地在Debian 5.0上編譯它們。

Linux內核開發人員提供向後兼容性,而不是前瞻性。但更可能的是基本庫版本(如glibc)的問題。如果你害怕崩潰,請看他們的變化。

+0

我發現,大多數程序都相當不可知的linux內核版本,所以這可能不會太重要(但當然,這取決於「服務應用程序」的實際作用) –

2

不太可能,但你可以試試。它可能有助於將盡可能多的庫鏈接爲「靜態」,這樣不同版本的不同系統就不會造成問題。

0

確保使用Debian-5.0上提供的libstdC++/compiler版本。

例如使用g++-4.3二進制文件都會連接到相應的libstdc++6-4.3,編譯時應該可以在Debian-5.0

注意,默認的C++ - 上擠編譯器(Debian的6)爲g++-4.4,這是萊尼沒有可用。

,所以你可能要(:-)安裝後明顯)明確設置你的編譯器/連接到g++-4.5

$ ./configure CPP=cpp-4.5 CC=gcc-4.5 CXX=g++-4.5 
$ make