[QT] Alte Libs mit neuem Compiler

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
DerAlbi
Establishment
Beiträge: 269
Registriert: 20.05.2011, 05:37

[QT] Alte Libs mit neuem Compiler

Beitrag von DerAlbi »

Hallo Leute,
ich entwickle auf ARM mit einem GCC 7.2, der C++17 kann und davon mache ich auch heftigst Gebrauch. Nun muss ich auf dem PC eine GUI schreiben, die mit dem ARM-Code über USB interagiert. Dabei möchte ich Code vom Mikrocontroller wiederverwenden, ohne alles auf C++14 umändern zu müssen [Probleme sind z.B. fehlende typetraits usw].
Auf dem PC habe ich QT 5 mit einem MinGW-32-5.3 und der kann eben nur C++14. Mein Ziel ist es auf einen neueren GCC umzusteigen, namentlich MinGW-64-wasauchimmer mit einem GCC 7.1.
Die Kacke beginnt mit der Inkompatibilität der 5.3er-QT-Libs zum neuen 7.1er-Compiler. Ich bekomme prinzipiell alles compiliert, aber halt nicht gelinkt. Es hagelt undefined references - letztlich auch das, was ich auch erwarten würde. Nun kann ich aber sowohl beim Compilieren als auch beim Linken dem GCC mitteilen, dass ich -fabi-version=9 haben will, was der ABI vom GCC 5.3 entsprechen sollte.
Und jetzt kommts: es hilft nicht. Kann jemand sagen warum? [verstehe ich das ABI-konzept nicht?]

Als nächsten Schritt wollte ich besonders schlau sein: ich nehme den Linker des 5.3er GCCs und füttere ihm die .o-Files des GCC7.1, die mit -fabi-version=9 erstellt worden sind. Da stimmt aber wohl das File-Format nicht... hätte das klappen sollen, oder lacht du mich grade aus?

Weiß jemand, wie ich das mein compiliat kompatibel bekomme? (oder QT-Libs kompatibel zum 7.1er GCC herbekomme, ohne den ganzen Build-Prozess selbstmachen zu müssen, was bestimmt mit GCC 7.1 mangels in-haus-unterstützung herrlich zwecklos wird)
Benutzeravatar
B.G.Michi
Establishment
Beiträge: 163
Registriert: 07.03.2006, 20:38
Alter Benutzername: B.G.Michi
Kontaktdaten:

Re: [QT] Alte Libs mit neuem Compiler

Beitrag von B.G.Michi »

In MSYS2 kannst du Qt binaries (i686 und x86_64) für Windows und GCC 7.2 runterladen.
DerAlbi
Establishment
Beiträge: 269
Registriert: 20.05.2011, 05:37

Re: [QT] Alte Libs mit neuem Compiler

Beitrag von DerAlbi »

Also ich habe mir das runtergeladen. Das scheint wieder so ein OpenSource-Projekt zu sein, wo die Leute nicht verstehen, dass ich Anwender sein will und nicht Entwickler davon. Mit anderen Worten: keine Ahnung, wie ich damit umzugehen habe.
Habs installiert, habs geupdated wie beschrieben. Es hat mir leere mingw64/32-Ordner hingesetzt und Libs sehe ich auch nicht. Ich vermute die muss man sich per kommandozeile irgendwo alles zusammensuchen, aber solang ich nicht weiß, mit welchen magischen Kürzeln ich die Kommandozeile füttern muss, fällt das wohl aus. :-|

Edit: WTF https://wiki.qt.io/MSYS2 wenn man etwas macht, was derart nutzerunfreundlich ist, dass man ein Wiki schreiben muss, um es benutzbar zu machen....
Eine GUI mit einer Liste an Möglichkeite, dann Haken setzen an "QT" und "Update" klicken währe wohl zu einfach. Stattdessen muss man aus der Unendlichkeit an Buchstabenkombinationen die Richtige raussuchen. Die Leute haben quasi jede Funktionalität mit einem impliziten Passwort versehen. Kommandozeile halt. Jippi Ay Eh.

Edit: Läuft ^_^ muss es aber neu installieren, da unklar war, wie die Installationsstruktur aussieht. Aber jo, danke. :-)
Aber dennoch verstehe ich die Intension hinter so einem Package nicht. Die Leute scheinen das auf Windows bringen zu wollen, was Nutzer davon abhält auf Linux zu gehen. :-|
Antworten