Programm lässt sich nicht compilieren:
http://upload.wikimedia.org/wikibooks/de/3/3a/QwtSinus.png
meine Kurvenplot.pro-Datei:
QT += core
INCLUDEPATH += c:\qwt-6.0.1\include\qwt
LIBS += c:\qwt-6.0.1\lib\ -lqwt
TARGET = Kurvenplot
SOURCES += main.cpp
Mein Kurvenplott.cpp wie das Beispiel in dem Link.
Fehlermeldung beim Compilieren:
C:\....\ -lqwl no such file or directory.
Was mache ich beim Compilieren falsch?
nichts, denn der Fehler passiert beim Linken.
vieleicht ist:
LIBS += c:\qwt-6.0.1\lib\
besser.
Das " -lqwt" ist die Compileroption und nicht Teil des Lib-Pfads.
ok, habs weggelassen.
Jetzt bin ich einen Schritt weiter gekommen, aber nun mit einer anderen
Fehlermeldung
Starte
C:\...\Kurvenplot-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK__De
bug\debug\Kurvenplot.exe...Invalid parameter passed to C runtime
function.
Invalid parameter passed to C runtime function.
QWidget: Must construct a QApplication before a QPaintDevice
Jetzt kommen zwei andere Fehlermeldungen:
:-1: Fehler:cannot open output file debug\Kurvenplot.exe: Permission
denied
:-1: Fehler:collect2: ld returned 1 exit status
Karl Heinz Buchegger schrieb:> Und das Programm welches du kompiliert hast, sieht wie aus?
das war noch ein anderer Fehler, beim Erstellen eines neuen Projektes
war die main.cpp nicht leer, da stand noch was mehr drinnen, ein Rest
von was anderem, den habe ich weggemacht und jetzt ist nur noch das
reine Beispiel drinnen, wie in dem Link, jedoch kommen jetzt die beiden
Fehlermeldungen
cannot open Kurvenplot.exe, permission denied ...
Und wenn ich umschalte beim Compilieren von ... Debug auf ... Release,
dann kommt eine ganze Horde Fehler wie
C:\...\Kurvenplot\main.cpp:-1: Fehler:undefined reference to
`QwtPlot::QwtPlot(QWidget*)'
C:\...\Kurvenplot\main.cpp:-1: Fehler:undefined reference to
`QwtPlotCurve::QwtPlotCurve(QString const&)'
... davon noch ein paar Stück
Also wenn mich das Bild am Anfang nicht täuscht, arbeitest Du unter
Linux. Da gibt es aber keine Laufwerke wie "C:". Deshalb passen Deine
ganzen Pfadangaben auch überhaupt nicht zu Linux.
Das Rootverzeichnis(Stammverzeichnis) in Linux ist "/" Das gilt dann
aber für den gesamten Rechner. Laufwerke werden unter Linux einfach in
den Verzeichnisbaum eingehängt(mounted). Außerdem kein Backslah nur
Slashes verwenden!
Falsch:
C:\...\Kurvenplot-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK__De
Richtig:
/.../Kurvenplot-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK__De
Punkte eben noch auffüllen!
Decius schrieb:> Also wenn mich das Bild am Anfang nicht täuscht, arbeitest Du unter> Linux.
Nee, Windoes 7
>C:\...\Kurvenplot-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK__D e
Das ist die Fehlermeldung, der Pfad ist schon richtig, habe nur die
Punkte dareingesetzt, weil der Pfad sonst zu lang wird - ist das
Resultat der Fehlermeldung, nicht von mir im Programm gemacht.
Windows 7 mit OpenSUSe Logo soso! Selbst in einer virtuellen Maschine
mit Linux unter Windows würden die Linuxregeln für Pfadangaben gelten.
Deshalb vorsicht TROLL!
Fragensteller schrieb:> cannot open Kurvenplot.exe, permission denied ...
fehlende Schreibrechte für den gewählten Pfad? Oder Kurvenplot.exe ist
schon von einer anderen Applikation belegt - ein altes Windows-Problem,
bringt mich regelmäßig zur Weißglut.
> Und wenn ich umschalte beim Compilieren von ... Debug auf ... Release,> dann kommt eine ganze Horde Fehler wie
Dann stimmen wohl die Einstellungen für das Release-Build nicht.
Nachzuprüfen unter Projects->Build Settings. Vergleiche mal die
Library-Einstellungen für Release und Debug
J. L. schrieb:> Fragensteller schrieb:>> cannot open Kurvenplot.exe, permission denied ...>> fehlende Schreibrechte für den gewählten Pfad? Oder Kurvenplot.exe ist> schon von einer anderen Applikation belegt - ein altes Windows-Problem,> bringt mich regelmäßig zur Weißglut.
Jup.
Sein erster Versuch das Programm laufen zu lassen, ist ja in einem
Absturz gemündet. Wenn Windows die EXE gelockt hat, bis das EXE
terminiert, dann kann man nicht neu drüber schreiben. Passiert im
Developer Studio auch ab und an, dass DLLs gelockt bleiben, wenn ich die
EXE im Debugger abwürge.
@Fragensteller
Reboote mal deinen PC
Karl Heinz Buchegger schrieb:> @Fragensteller> Reboote mal deinen PC
Das habe ich gemacht, jetzt lies es sich auch compilieren wieder, aber
es kamen nun erneut einige Fehlermeldungen.
Ich habe jetzt mal einen Screenshot gemacht mit dem Quelltext von
main.cpp, der Projektdatei mit den Pfadoptionen und unten der
Fehlerausgabeleiste.
Ich habe zu diesem Link nochmal eine Frage:
http://qwt.sourceforge.net/class_qwt_plot.html
Dort steht in einem Beispiel:
>>...>>QwtPlot *myPlot = new QwtPlot("Two Curves", parent);>>...
In dem anderen Beispiel steht ja "nur"
QwtPlot plot;
Liegt darin vielleicht der Hund begraben, dass die Zuweisung in dem
Beispiel falsch sein könnte? Ich habe es mal ausprobiert, dass ich aus
dem plot einen Pointer gemacht habe *plot, dann kamen andere
Fehlermeldung, oder auch mit einer dierekten Speicheradresse &plot;,
dann waren die Fehlermeldungen wieder anders, cih hab auch ausprobiert
später aus plot.show(); plot->show(); gemacht und so, verschiedene
Variationen durchgespielt, aber leider bisher erfolglos.