QWT und QT

Verschiedenes zu Qt
Antworten
nazih
Beiträge: 3
Registriert: 13. November 2007 15:30

QWT und QT

Beitrag von nazih »

Ich soll ein Programm erweitern, dass sowhl QT als auch QWT benutzt.
Ich habe QT (3.3.5) installiert, dann habe ich QWT herunter geladen. Nach der Kompilierung von QWT sollte zwei LIB Dateien erzeugt werden, nähmlich qt-mt335d.lib und qwtd.lib. Ich habe QWT mittels fogende Befehle kompiliert:
--------------------------
qmake qwt.pro
nmake
--------------------------
nmake, weil ich Visual Studio 2003 benutze
Folgende Fehler wurden ausgegeben:
-----------------------------------------------------------

C:\qwt-5.0.2>qmake qwt.pro

C:\qwt-5.0.2>nmake

Microsoft (R) Program Maintenance Utility, Version 7.10.3077
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

cd src
nmake -f Makefile

Microsoft (R) Program Maintenance Utility, Version 7.10.3077
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

cl -c -nologo -Zm200 -W3 -w34100 -w34189 -MD -O1 -DUNICODE -DWIN32 -DQT
_DLL -DQWT_DLL -DQWT_MAKEDLL -DQT_DLL -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -I"C:\Qt
\3.3.5\include" -I"." -I"moc" -I"C:\Qt\3.3.5\mkspecs\win32-msvc.net" -Foobj\ @C:
\DOKUME~1\Nazih\LOKALE~1\Temp\nm28.tmp
qwt_panner.cpp
qwt_panner.cpp(53) : error C2666: 'QMemArray<type>::operator`[]'': 2 Überladunge
n haben ähnliche Konvertierungen
with
[
type=QwtPicker *
]
C:\Qt\3.3.5\include\qmemarray.h(99): kann 'QwtPicker &QMemArray<type>::o
perator [](int) const ' sein
with
[
type=QwtPicker *
]
oder 'eingebauter C++ Operator[(QwtPicker *const * , uint)'
bei Anpassung der Argumentliste '(QMemArray<type>, uint)'
with
[
type=QwtPicker *
]
NMAKE : fatal error U1077: 'cl': R³ckgabe-Code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Programme\Microsoft Visual Studio .NET 2003\SDK\
v1.1\Bin\nmake.exe"': R³ckgabe-Code '0x2'
Stop.

C:\qwt-5.0.2>
-----------------------------------------------------------

Könnte jemand mir bei der Fehlerbehebung helfen?
Ich danke Ihnen im Voraus.
DeepDiver
Beiträge: 34
Registriert: 7. November 2007 10:10
Wohnort: Fürstenfeldbruck
Kontaktdaten:

Beitrag von DeepDiver »

Diese Problem wurde hier schon mal diskutiert:
http://www.qtcentre.org/forum/f-qwt-23/ ... 10679.html
nazih
Beiträge: 3
Registriert: 13. November 2007 15:30

Beitrag von nazih »

Vielen Dank. Dieser Link hat mir sehr geholfen. Ich habe einfach diese Änderung:
=================================
#else
QObjectList *children = (QObjectList *)w->children();
if ( children )
{
for ( QObjectListIterator it(*children); it.current(); ++it )
{
QObject *obj = (QObject *)it.current();
if ( obj->inherits("QwtPicker") )
{
QwtPicker *picker = (QwtPicker *)obj;
if ( picker->isEnabled() )
{
pickers.resize(pickers.size() + 1);
pickers[(int)pickers.size() - 1] = picker; //!!!!! HERE
// pickers[pickers.size() - 1] = picker;
}
}
}
}
#endif
===============================
in der Datei qwt_panner.cpp vorgenommen. Obwohl die Kompilierung ist nicht erfolgreich beendet, habe ich das wichtige generiert bekommen, nämlich qwt502.lib. Ich habe danach diese in qwtd.lib umbenannt. Es scheint, mit dem Programm, das ich erweitern will, zu funktionieren.
Antworten