Forum: PC-Programmierung QT statisch in Visual Studio 2017


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von C. W. (chefkoch)


Bewertung
0 lesenswert
nicht lesenswert
Hallo *,

ich versuche mich gerade am statischen Linken. Nachdem ich mit der 
offiziellen QT-Version zum dynamischen Linken (5.11.1) das Funktionieren 
der IDE (Visual Studio 2017 Community mit QT-Plugin) getestet habe, habe 
ich mir die Sourcen downgeloaded und kompiliert. Der Build lief durch 
und im QT-Creator kann ich das Paket auch  einbinden und statisch Linken 
ohne irgendwelche Einstellungen außer das ich mein eigenes Build 
auswähle (die einfache GUI EXE hat dann 12-13MB). Versuche ich aber mein 
Build im Visual Studio zu verwenden bekomme ich einen Linkerfehler 
(LNK2019). Hat jemand Erfahrung damit?

von Sven B. (scummos)


Bewertung
0 lesenswert
nicht lesenswert
Welche Compiler verwendest du denn jeweils? Du musst vermutlich die 
statischen Qt-Libs mit demselbem Compiler bauen wie dein Executable, was 
du dagegen linkst. Unter Windows hat quasi jeder Compiler ein anderes 
ABI.

von C. W. (chefkoch)


Bewertung
0 lesenswert
nicht lesenswert
Es existiert ja nur ein Compiler auf dem Rechner. Dieser wird auch vom 
QT-Creator beim Build verwendet. Es ist der Compiler des Visual Studio.

von guest (Gast)


Bewertung
0 lesenswert
nicht lesenswert
C. W. schrieb:
> Es existiert ja nur ein Compiler auf dem Rechner.

Sicher? Welche Endung haben Deine Libs, .a oder .lib?
Und wie hast du gebaut?

von C. W. (chefkoch)


Bewertung
0 lesenswert
nicht lesenswert
Es sind *.lib. Gebaut ist das ganze nach: http://www.saoe.net/blog/1649/

von guest (Gast)


Bewertung
0 lesenswert
nicht lesenswert
C. W. schrieb:
> Es sind *.lib

Dann sollten es die richtigen sein.
Kenne das QT-Plugin nicht, setzt das die Linker-Pfade korrekt?
Falls die Buildloglevel hoch genug sind, solltest Du im Output-Fenster 
oder der Build-Log-Datei den Linkeraufruf vor der Fehlermeldung sehen, 
da müßte ein Parameter "/LIBPATH:'<pfad zu deinen libs>'" mit 
auftauchen. Man kann auch in der "link.read.1.tlog" (irgendwo unterhalb 
des intermediate dir) schauen welche Libs gelinkt werden.

von Arc N. (arc)


Bewertung
0 lesenswert
nicht lesenswert

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.