Seite 1 von 1

Qt4.1.0 OS / MSVC.NET (2003) : Problem beim Uebersetzen

Verfasst: 14. Februar 2006 08:52
von -Shinigami-
Hallo zusammen,

soweit ich mich auf die Suchfunktion verlassen kann, ist das folgende Problem hier noch nicht zur Sprache gekommen. Ich versuche, qt-win-opensource-4.1.0 mit dem Patcharchiv acs4qt41p2 des QtWin Projekts unter VS.NET 2003 zu uebersetzen und erhalte folgende Fehlermeldung:

Code: Alles auswählen

> qconfigure.bat msvc.net

[...]

Generating Code...
        cl -c -FIqmake_pch.h -Yuqmake_pch.h -Fptmp\qmake_pch.pch -nologo -Zm200
-GS -wd4996 -O2 -MD -GR -EHsc -W3 -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_EDITION=
QT_EDITION_DESKTOP -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQT_NO_TEXTCODEC -DQT_NO_
LIBRARY -DQT_NO_STL -DQT_NO_COMPRESS -DQT_NO_UNICODETABLES -DQT_NO_GEOM_VARIANT
-DQT_NO_DATASTREAM -DQMAKE_OPENSOURCE_EDITION -DQT_NODLL -DQT_NO_THREAD -DQT_NO_
QOBJECT -DWIN32 -I"../src/corelib/arch/generic" -I"generators" -I"generators\uni
x" -I"generators\win32" -I"generators\mac" -I"../include" -I"../include/QtCore"
-I"../qmake" -I"../mkspecs/win32-msvc.net" -Fotmp\ @C:\DOCUME~1\Andreas\LOCALS~1
\Temp\nm43.tmp
quuid.cpp
        link /NOLOGO /SUBSYSTEM:CONSOLE /incremental:no /OUT:"..\bin\qmake.exe"
@C:\DOCUME~1\Andreas\LOCALS~1\Temp\nm44.tmp
ASSERT: "d->ref != 1" in file ..\src\corelib\tools\qlistdata.cpp, line 50

An dieser Stelle bricht der Uebersetzungsvorgang ab. Hat jemand dieses Verhalten beobachtet und eine Idee wie man es beheben kann?
(Unter VS 2005 laesst sich die gepatchte Version einwandrei uebersetzen. Leider bin ich hier jedoch auf 2003 angewiesen :cry: )

Viele Gruesse
-Shinigami-


P.S.: Sorry wegen der Umlaute - englische Tastatur! :wink:

Verfasst: 14. Februar 2006 09:11
von Christian81
Da du es vorher mit .Ne2005 übersetzt hast - war das Verzeichnis wirklich clean und hatte nicht evtl. alte Object-Dateien von .Net2005 enthalten? Wurde nicht zufällig qmake von .Net2005 aufgerufen, ...

/edit:
Du kannst auch die für .Net2005 übersetzten Qt-Dlls mit .Net2003 verwenden - das ist kein Problem.

Verfasst: 14. Februar 2006 09:37
von -Shinigami-
Hallo Christian,

danke fuer Deine schnelle Antwort. Das Verzeichnis war clean, da ich die Archive auf einem anderen Rechner neu entpackt habe.

Die 2005er dlls zu benutzen ist ein guter Tip. Wuerde es ausreichen, den kompletten mit .NET 2005 kompilierten Ordner (d.h. auch /lib Verzeichnis) zu uebernehmen?

Verfasst: 14. Februar 2006 09:46
von Christian81
Du brauchst im Grunde 'nur'
/bin
/include
/lib
/plugins
/src

Und wegen dem Fehler - ist mir noch nicht aufgefallen. Was passiert wenn du ´bin\qmake.exe' aus dem qt-4-src directory aufrufst? Falls da der Fehler auftritt können wir mal debuggen :)

Verfasst: 15. Februar 2006 02:35
von -Shinigami-
Habs gerade mal probiert, hier das Resultat:

Code: Alles auswählen


> set QMAKESPEC=win32-msvc.net
> set MAKE=nmake
> .\bin\qmake.exe
ASSERT: "d->ref != 1" in file ..\src\corelib\tools\qlistdata.cpp, line 50

Das ist auch schon alles. Seltsam... wird qmake erst in einer Debug Version erstellt?

Verfasst: 15. Februar 2006 08:48
von Christian81
Nein, aber man kann es recht einfach als Debug erstellen.
Zuerst kannst Du mal qmake mit '-d' aufrufen. Eventuell hlft und das schon weiter.
Den Rest sollten wir lieber per Mail oder Privaten messages machen um hier nicht das Forum vollzuspammen :)

Verfasst: 9. Mai 2006 16:05
von Dywod
Hi, ich habe bei der Installation von Qt 4.1.2 (qt-win-opensource-src-4.1.2.zip) mit dem VC-Patch (acs4qt412p1.zip) und Visual Studio .NET das gleiche Problem:

In der Visual Studio .NET Befehlszeile ergibt qconfigure nach einiger Kompilierzeit:

Code: Alles auswählen

qvariant.cpp
Code wird generiert...
        cl -c -FIqmake_pch.h -Yuqmake_pch.h -Fptmp\qmake_pch.pch -nologo -Zm200
-GS -wd4996 -O2 -MD -GR -EHsc -W3 -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_EDITION=
QT_EDITION_DESKTOP -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQT_NO_TEXTCODEC -DQT_NO_
LIBRARY -DQT_NO_STL -DQT_NO_COMPRESS -DQT_NO_UNICODETABLES -DQT_NO_GEOM_VARIANT
-DQT_NO_DATASTREAM -DQMAKE_OPENSOURCE_EDITION -DQT_NODLL -DQT_NO_THREAD -DQT_NO_
QOBJECT -DWIN32 -I"../src/corelib/arch/generic" -I"generators" -I"generators\uni
x" -I"generators\win32" -I"generators\mac" -I"../include" -I"../include/QtCore"
-I"../qmake" -I"../mkspecs/win32-msvc.net" -Fotmp\ @I:\DOKUME~1\Dywod\LOKALE~1\T
emp\nm212.tmp
quuid.cpp
        link /NOLOGO /SUBSYSTEM:CONSOLE /incremental:no /OUT:"..\bin\qmake.exe"
@I:\DOKUME~1\Dywod\LOKALE~1\Temp\nm213.tmp
ASSERT: "d->ref != 1" in file ..\src\corelib\tools\qlistdata.cpp, line 50
Habt ihr eine Lösung für das Problem gefunden? Danke im vorraus.