Forum: PC-Programmierung Fehler QT(Linux) bei boost static link


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 Boost (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Problem beim linken von boost unter Linux sobald ich in QT 
in der .pro -static angebe.

Die Boost Lib habe ich so gebaut:
./bootstrap.sh
dann
./b2 link=static

Angaben unter QT .pro Datei:

INCLUDEPATH += boost_1_68_0
LIBS += -L/boost_1_68_0/stage/lib -lboost_system -pthread -static

Kompilerfehler:
cannot find -lQt5Widgets
cannot find -lQt5Gui
cannot find -lQt5Core
cannot find -lGL
collect2: error: Id returned 1 exit status


Sobald ich in der .pro das "-static" weglasse funktioniert alles! Hat 
jemand eine Idee wie man das Problem lösen kann? Scheinbar verursacht 
das -static, dass QT die eigenen Dinge nicht mehr finden, sehr 
komisch...?

von Rolf M. (rmagnus)


Bewertung
0 lesenswert
nicht lesenswert
Boost schrieb:
> Kompilerfehler:
> cannot find -lQt5Widgets
> cannot find -lQt5Gui
> cannot find -lQt5Core
> cannot find -lGL
> collect2: error: Id returned 1 exit status

Das sind Linkerfehler, die besagen, dass du keine static-Version von Qt 
und von OpenGL hast.

> Sobald ich in der .pro das "-static" weglasse funktioniert alles!

Dann werden die dynamischen Versionen von Qt und OpenGL verwendet.

> Hat jemand eine Idee wie man das Problem lösen kann? Scheinbar verursacht
> das -static, dass QT die eigenen Dinge nicht mehr finden, sehr
> komisch...?

Nein, das -static verursacht, dass was nach anderem gesucht wird. Und da 
du das nicht hast, wird's nicht gefunden.

von Skyper (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von Boost (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mein Ziel ist ja nur boost statisch zu linken und nicht die QT Dinge. 
Dachte, da -static hinter dem boost-verzeichnis steht, dass dann das 
static auch nur für boost gilt.

Geht es denn nicht nur boost statisch zu linken und dabei QT so zu 
lassen wie es ist?

von Rolf M. (rmagnus)


Bewertung
0 lesenswert
nicht lesenswert
Boost schrieb:
> Mein Ziel ist ja nur boost statisch zu linken und nicht die QT Dinge.
> Dachte, da -static hinter dem boost-verzeichnis steht, dass dann das
> static auch nur für boost gilt.

Es ist genau umgekehrt: Das -static gilt für alle Libs, die danach 
kommen.

von Oliver S. (oliverso)


Bewertung
0 lesenswert
nicht lesenswert
Brauchst du denn überhaupt eine boost-lib? Das allermeiste in boost ist 
doch header-only.

Oliver

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.