GNU/Linux >> Znalost Linux >  >> Linux

Propojení se starší verzí libstdc++

Nemusíte odkazovat na jinou knihovnu, musíte použít starší verzi kompilátoru.

Podívejte se na zásady GNU ABI. Sdílená knihovna libstdc++ je navržena tak, aby byla dopředně kompatibilní. Tj. verzi 6.0.10 lze použít, pokud potřebujete 6.0.8. V zásadách si můžete přečíst, že od gcc-4.2.0 je potřeba 6.0.9, takže potřebujete gcc-4.1.x.

Stručně řečeno, proto je ve vašem systému pouze jedna libstdc++.so.6.0.x, potřebujete pouze nejnovější.

Pokud jde o nastavení vašeho systému sestavení tak, aby používal pouze konkrétní verzi kompilátoru:ujistěte se, že nelze použít standardní g++ (přejmenujte odkaz, odstraňte balíček, který jej obsahuje, vyjměte jej z PATH) a začněte kopat. Pracovalo pro mě.


Požadované sdílené knihovny můžete dodat se svým vlastním kódem (například v podadresáři) a nastavit LD_LIBRARY_PATH, jako předchůdce spuštění vaší aplikace, aby nejprve prohledával tento adresář.

Odeslání konkrétní verze, kterou potřebujete, bude znamenat, že nezáleží na tom, kterou verzi si uživatel nainstaloval. Jen se musíte ujistit, že odesíláte také všechny závislosti.


Linux
  1. Selhání komunikačního spojení Výjimka – WSO2 s MySQL [Oprava]

  2. dynamic_cast selže při použití s ​​dlopen/dlsym

  3. Jak mohu odkazovat na konkrétní verzi glibc?

  1. Propojení se starší verzí symbolu v souboru .so

  2. Chyba ldconfig:není symbolický odkaz

  3. pytest běžící s jinou verzí pythonu

  1. 4 tipy, jak získat starší příbuzné online s Linuxem

  2. Jak nainstalovat starší verzi gcc na Fedoru

  3. Chyba aktualizace apt s kosmickou verzí ubuntu 18.10