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...?
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.
Wenn Du Qt nicht selbst kompilierst hast, dann liegen die Bibliotheken auch nicht als "statisch" vor... http://doc.qt.io/qt-5/linux-deployment.html# https://wiki.qt.io/Building_a_static_Qt_for_Windows_using_MinGW https://wiki.qt.io/Build_Standalone_Qt_Application_for_Windows
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?
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.
Brauchst du denn überhaupt eine boost-lib? Das allermeiste in boost ist doch header-only. Oliver
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.