2012-05-18 22 views
5

Secondo il ABI Policy and Guidelines è vero dovrei usaregcc e libstdC++ avanti compatibilità

GCC 3.4.0 and libstdc++.so.6.0.0 

per compilare l'eseguibile binario eseguibile su ogni GNU/Linux distribuzioni (stessa architettura di CPU) con qualsiasi recente libstd++.so.6 installato? Questo file binario sarà compatibile con ogni libstd++.so.6?

+4

gcc 3.4.0 è roba piuttosto vecchia ..... – littleadv

risposta

5

(Perché non fare questa domanda sulla mailing list gcc-aiuto in modo da ottenere una risposta autorevole da persone che sanno cosa stanno parlando?)

Sì, collegando contro libstdC++. So.6.0.0 significherebbe che il binario potrebbe essere eseguito quando è collegato a qualsiasi versione successiva di libstdC++. so, ma ciò non è sufficiente per garantire che il binario possa essere eseguito su qualsiasi sistema GNU/Linux. È inoltre necessario assicurarsi di utilizzare una versione precedente di libc.so (i.e.glibc) e qualsiasi altra librerie a cui si collega. La compilazione e il collegamento con GCC 3.4.0 ma il collegamento con Glibc 2.15 potrebbe significare che il file binario non può essere eseguito su sistemi con Glibc 2.14 o precedente, indipendentemente dalla versione di libstdC++ che hanno.