Ich kompiliere ein Programm durch clang + llvm (Version 3.1) und versuche es auf einem Computer auszuführen, der auch die gleiche clang + llvm-Version hat. Ich kompiliere auf Ubuntu 10, aber der andere Computer, auf dem ich versuche zu laufen, hat CentOS 5. Dort (in CentOS) stoße ich auch auf Probleme beim Kompilieren durch LLVM (ein Compiler-Pass ist in LLVM implementiert). Deshalb habe ich darüber nachgedacht, auf Ubuntu zu kompilieren, die exe von dort zu nehmen und es einfach auf dem CentOS-Rechner laufen zu lassen.Ausführen eines Programms, das von clang + llvm auf einem anderen Computer kompiliert wurde
Wenn ich dies jedoch versuche, erhalte ich den folgenden Fehler.
./main: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./main)
./main: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./main)
Wie kann ich das lösen? Bitte beachten Sie, dass ich auf diesem Rechner keine Root-Zugriffe habe.
LD_PRELOAD hat es geschafft. Genial! – pythonic
Eine andere Option, die mir in den Sinn kommt, besteht darin, das Programm statisch zu kompilieren (d. H. Alle notwendigen Bibliotheksfunktionen sind enthalten). – flolo