Hallo,
ich habe mir das SDK für Qt4.6.2 (mingw) gestern auf WinXP installiert und probiere mich gerade mit einem Beispiel, dem webbrowser aus activeqt.
Aus diversen Hinweisen liest man, dass bevor man im QtCreator dieses Beispiel starten kann, die Libs des ActiveQt-Frameworks noch erstellt werden müssen.
Dennoch erhalte ich beim Versuch das Beispiel zu erstellen, den Hinweis, dass offensichtlich folgende libs nicht gefunden werden:
ole32.lib
oleaut32.lib
user32.lib
gdi32.lib
advapi32.lib
konkret gibt es folgenden Output
...
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -Wl,-subsystem,windows -o release\webbrowser.exe tmp/obj/release_shared/main.o -L"c:\Qt462\lib" -L"c:\Qt462\lib" -lmingw32 -lqtmain -Lo:\3_Source\LogBuch\Versuch02\lib -lQAxContainer -lQtGui4 -lQtCore4 ole32.lib oleaut32.lib user32.lib gdi32.lib advapi32.lib c:\Qt462\lib\QtGui4.lib c:\Qt462\lib\QtCore4.lib
mingw32-make[1]: Leaving directory `C:/Qt462/examples/activeqt/webbrowser'
mingw32-make: Leaving directory `C:/Qt462/examples/activeqt/webbrowser'
g++: ole32.lib: No such file or directory
g++: oleaut32.lib: No such file or directory
g++: user32.lib: No such file or directory
g++: gdi32.lib: No such file or directory
g++: advapi32.lib: No such file or directory
mingw32-make[1]: *** [release\webbrowser.exe] Error 1
mingw32-make: *** [release-all] Error 2
Beendet mit Rückgabewert 2.
Fehler beim Erstellen des Projekts webbrowser
Beim Ausführen des Build-Schritts 'Make'
Das sind nun Windows Bibliotheken und ich krieg den gcc, respektive mingw nicht dazu, diese libs zu finden. Sie sind da, ich habe sie inzwischen woanders hin kopiert, doch vergebens. qmake habe ich wie folgt erweitert:
LIBS += -L"o:\3_Source\LogBuch\Versuch02\lib"
Dort liegen die Libs.
Sie werden nicht gefunden.
Was mach ich denn hier falsch? Variationen mit \ oder / und mitohne " habe ich alle schon durch.
Gruß
MQ
user32.lib no such file or directory
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Ja, die Forderung nach den libs kommt nicht von mir. Ich habe zwar parallel VS2008 auf dem Rechner doch zumindest beim QtCreator nix gemischt.Christian81 hat geschrieben:Irgendwas ist da durcheinander - .lib sind definitiv keine Import-Libs für MinGW sondern für MSVC...
Das muss was damit zu tun haben, dass ich ActiveX nutzen will und das ist ja definitiv Windows-Zeugs.
Wo könnte die Forderung nach den Windows-Bibliotheken denn sonst herkommen? Wie gesagt, ich bearbeite das Beispiel webbrowser des activeqt Frameworks.
MQ
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Ich habe das angesprochene Beispiel gestern noch auf einem nicht MSVC-verseuchten PC ausprobiert und da funzt es prima.Christian81 hat geschrieben:Da ich die pro-Datei nicht kenn und auch nicht weiß welchen mkspec Du verwendest - keine Ahnung. Die Libs gehören definitiv nicht da hin und mit ActiveQt hat das auch nicht zu tun.
hier mal die *.pro
Code: Alles auswählen
TEMPLATE = app
CONFIG += qaxcontainer
QTDIR_build:REQUIRES = shared
HEADERS = webaxwidget.h
SOURCES = main.cpp
FORMS = mainwindow.ui
wincewm*: FORMS = mainwindow_windowsmobile.ui
# install
target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/webbrowser
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS webbrowser.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/activeqt/webbrowser
INSTALLS += target sources
Die Umgebungsvariablen habe ich ebenfalls mal überprüft. Zwar war QTDIR noch auf 4.4.3 und nicht auf 4.6.2 doch nach dem Ändern gab es keine Verbesserung.
Es sieht also so aus, als ob irgendwas vom MSVC in den MinGW reinspukt. Aus den Abhängigkeiten des Quelltextes kann es nicht kommen? Als relevante Umgebungsvariablen ist nur QTDIR gesetzt und zeigt nun auch auf den richtigen Pfad.
Wenn MinGW verwendet wird, müsste mkspec aus mkspec/win32-g++ verwendet werden, oder? Darin finden sich folgende Zeilen:
Code: Alles auswählen
QMAKE_LIBS =
QMAKE_LIBS_CORE = -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32
QMAKE_LIBS_NETWORK = -lws2_32
QMAKE_LIBS_OPENGL = -lopengl32 -lglu32 -lgdi32 -luser32
QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
MQ
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
QMakeSpec: http://qt.nokia.com/doc/4.6/qmake-envir ... #qmakespec
Bist Du sicher dass nicht das Qt4.4 vom QtCreator benutzt wird?
Die mkspec ist auch richtig.
Bist Du sicher dass nicht das Qt4.4 vom QtCreator benutzt wird?
Die mkspec ist auch richtig.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
wo kann ich denn das ablesen?Christian81 hat geschrieben: Bist Du sicher dass nicht das Qt4.4 vom QtCreator benutzt wird?
QTDIR zeigt auf den richtigen Pfad und im Creator unter Einstellungen steht 4.6.2.
Da Qt4.6.2 im Moment so zickt, bin ich auch nicht wirklich bereit, die alte Version von der Platte zu bannen.
MQ