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)


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)


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)


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)


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)


Lesenswert?

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

von guest (Gast)


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)


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]
  • [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.