Dies ist mein erster Versuch, eine Qt-Anwendung auf verschiedenen Systemen auszuführen.Bereitstellung der Rückwärtskompatibilität der statisch verknüpften Qt-Anwendung
Ich habe mich für die statische Linking-Methode entschieden. Ich habe bereits die Quellen von Qt 5.5 kompiliert und meine Anwendung mit dem statischen Qt kompiliert. Die ausführbare Datei funktioniert auf meinem Computer einwandfrei. Mein Betriebssystem ist Ubuntu 15.04. Aber als ich versuchte, die gleiche ausführbare Datei auf Ubuntu 14.04 auszuführen, geriet ich in Schwierigkeiten. Die wichtigsten Details der Fehlermeldung sind unten aufgeführt.
libstdC++. So.6 cxxabi_1.3.8 nicht
gefunden
habe ich eine Standard-Google-Suche und erkennen, dass es war, weil ich eine neuere Version davon auf meinem Rechner hatte, die Maschine, wo ich geschaffen hatte, die ausführbare Datei. Es gab so viele verschiedene Ansätze, um dieses Problem zu lösen. Eine der Lösungen, die ich sah, beinhaltete das Versenden Ihrer eigenen Kopie von libstdc++.so
mit der ausführbaren Datei. Aber als ich versuchte, die .so-Datei auf einen USB-Stick zu kopieren, gab es eine Warnung, dass das Dateisystem solche Dateien nicht unterstützt.
Meine Frage ist, was mache ich falsch? Auch wenn ich das ausführbare Ziel Ubuntu 10.04 machen wollte, was wäre die korrekte Prozedur, die die Abwärtskompatibilitätsprobleme behandelt. Ich weiß, dass eine Methode wäre, das gleiche Betriebssystem auf meinem Computer zu installieren und dann die ausführbare Datei zu erstellen, gibt es einen anderen Weg?
Danke für die Antwort, aber gibt es irgendein Standard altes Betriebssystem, die Firmen, die QT-Anwendungen verwenden, um die alten Ubuntu-Versionen zu bauen, das war mein größter Zweifel –
Welche Kompatibilität benötigen Sie? Welchen Compiler brauchen Sie? Welchen C++ Standard verwenden Sie in Ihrer Anwendung? Dies ist eine sehr benutzerdefinierte Frage. Angesichts der Tatsache, dass alle typischen Linux-Distributionen gemacht werden, um ihre Pakete aus dem Quellcode zu kompilieren, gibt es keine allgemeine Antwort auf diese Frage. Linux ist nicht für proprietäre Software optimiert. –
Ich würde gerne Kompatibilität von Ubuntu 10.04, C++ Standard gnu ++ 98, Entschuldigung für die nicht spezifisch sein, aber ich dachte früher, es gäbe eine allgemeine Vorgehensweise. –