Seite 1 von 1
mingw32-make.exe
Verfasst: 1. April 2009 20:10
von geograman
Hi Leute,
Ich hab vollgendes Problem und zwar muss ich um die Funktion SetPixel aus der WinAPI zu benutzen -mwindows an das linker komando mitgeben da der mir sonst die Fehlermeldung "undefined reference to `SetPixel@16' " ausgiebt.
Ich Programmiere in Eclipse. Und OHNE QT4 ist das auch kein Problem da ich da "g++ -mwindows" aufrufe und er es immer ohne Fehler kompiliert und eine .exe file erstellt.
Wenn ich aber das für QT4 notwendige Kommando "mingw32-make" aufrufe und da das Kommando dranhänge also "mingw32-make -mwindows" erzeugt er mir keine .exe mehr giebt aber auch keine Fehler aus ???
Hat jemand eine Ahnung woran das liegen könnte ?

Verfasst: 1. April 2009 20:21
von Christian81
mingw32-make ist kein Compiler sondern ein Tool welches Makefiles verarbeitet und die darin enthaltenen Befehle ausführt...
-mwindows wird für mingw's gcc nicht gebraucht - benutzt Du ggf. denn gcc von cygwin? Das wäre falsch.
mingw32-make.exe
Verfasst: 1. April 2009 20:44
von geograman
Einen cygwin habe ich ich nicht installiert bis jetzt nur das von QT4 bereitgestellte plugin für eclipse.
Aber wenn du sagst das MinGW -mwindows nicht brauch warum brauche ich es dann für ein normales c++ projekt mit g++.exe?
Wenn ich mit dem normalen linker kommand "mingw32-make" kompiliere ohne -mwindows kommt die gleiche Fehlermeldung wie wenn ich es bei g++ nicht anhänge.
Verfasst: 1. April 2009 20:51
von Christian81
Dann solltest Du es wohl zu den Linkerflags hinzufügen - es mingw32-make zu übergeben ist total sinnlos...
mingw32-make.exe
Verfasst: 1. April 2009 21:13
von geograman
Ok danke erstmal,
Ich hab jetzt nur das Problem das ich nicht weiß wo man in dem QT Plugin in Eclipse die Linker Flags einstellen kann.
In der normalen c++ Version ist es ganz einfach aber diese Option giebts es im QT Plugin nicht.
Welche Möglichkeit habe ich noch das Linker Flag zu setzen oder weißt du vllt ob es sich doch irgendwo im QT Plugin befindet?
Verfasst: 1. April 2009 21:15
von Christian81
Ich benutz Eclipse nicht - ein Java Proggie zum Programmieren von C++ ist mir irgendwie... naja

mingw32-make.exe
Verfasst: 1. April 2009 21:21
von geograman
Ich mag Java auch nicht ...
muss es leider trotzdem können >.<.
Giebt es keine andere Möglichkeit das Flag irgendwie reinzubasteln?
Verfasst: 1. April 2009 23:29
von FaS
Was für ein Qt-Plugin, "Qt Eclipse Integration for C++" von qtsoftware? Das ist ein Hilfsmittel und automatisiert eigentlich nichts, von daher sollte das Prozedere genauso sein wie ohne.. Wenn du deine *.pro selbst pflegst, dürfte ein "LDFLAGS += -mwindows" darin genügen.
Und eclipse ist toll. Ich hasse Java ebenso, aber die extrem umfangreiche aber überschaubare Funktionalität dieser IDE kann ich mir einfach nicht mehr wegdenken. Und der Editor.. einfach genial. Nur etwas lahm alles..
Verfasst: 2. April 2009 09:24
von androphinx
warum musst du SetPixel() verwenden....???
http://doc.trolltech.com/4.5/qpainter.html#drawPoint
wenn du qt nimmst, dann solltest du auch alle funktionen nutzen die dir damit zur verfügung stehen....
Mfg androphinx
mingw32-make.exe
Verfasst: 2. April 2009 21:11
von geograman
Hi,
Das mit dem LDFLAGS += -mwindows hab ich probiert, hat allerdings keine Auswirkung.
Es steht zwar drin und wir auch von Eclipse registriert also praktisch angezeigt aber dennoch hängt er kein flag an den befehl
In der Konsole kommen jetzt schöne Warungen like this:
Code: Alles auswählen
d:\Qt\4.4.3\bin\qmake -win32 -o Makefile FK.pro
Project MESSAGE: Warning: unknown QT: console
Project MESSAGE: Warning: unknown QT: CONFIG
Project MESSAGE: Warning: unknown QT: +=
Project MESSAGE: Warning: unknown QT: console
Project MESSAGE: Warning: unknown QT: TEMPLATE
Project MESSAGE: Warning: unknown QT: =
Project MESSAGE: Warning: unknown QT: app
Project MESSAGE: Warning: unknown QT: console
Project MESSAGE: Warning: unknown QT: CONFIG
Project MESSAGE: Warning: unknown QT: +=
Project MESSAGE: Warning: unknown QT: console
Project MESSAGE: Warning: unknown QT: TEMPLATE
Project MESSAGE: Warning: unknown QT: =
Project MESSAGE: Warning: unknown QT: app
Project MESSAGE: Warning: unknown QT: console
Project MESSAGE: Warning: unknown QT: CONFIG
Project MESSAGE: Warning: unknown QT: +=
Project MESSAGE: Warning: unknown QT: console
Project MESSAGE: Warning: unknown QT: TEMPLATE
Project MESSAGE: Warning: unknown QT: =
Project MESSAGE: Warning: unknown QT: app
Meine .pro file sieht so aus:
Code: Alles auswählen
LDFLAGS += -mwindows
QT += console \
CONFIG \
+= \
console \
TEMPLATE \
= \
app
TARGET = FK
QT += core \
gui
HEADERS += SP.h \
fk.h
SOURCES += SP.cpp \
main.cpp \
fk.cpp
FORMS += fk.ui
RESOURCES +=
LDFLAGS += -mwindows
Bevor ich das -mwindows angehängt hatte war noch alles ok.
Verfasst: 2. April 2009 23:40
von MiKla
gehört das nicht auch zu den:
Bsp.::
im Pro File????!!!!????!!!!
Michael
mingw32-make.exe
Verfasst: 5. April 2009 13:41
von geograman
Vielen dank euch,
leider erscheinen immer noch die gleichen warnings wie oben beschrieben.
Verfasst: 6. April 2009 00:24
von FaS
Code: Alles auswählen
QT += console \
CONFIG \
+= \
console \
TEMPLATE \
= \
app
'\' am Ende einer Zeile hat dieselbe Auswirkung, als würde die folgende an die aktuelle angehangen. Es sind also einige davon zu viel.
Zu LDFLAGS: Hört sich an, als würde es linker flags setzen, und in der Google Codesuche habe ich dies in einer Qt-Projektdatei gesehen, daher denke ich, es müsste funktionieren. QMAKE_LFLAGS scheint es aber auch zu geben, könnte besser passen. Am Anfang hast du jedoch geschrieben "g++ -mwindows", du hast das Kommando also an den Compiler und nicht an den Linker angehangen. Demnach wäre die Empfehlung von Michael.Klank, "QMAKE_CXXFLAGS", wohl das Richtige.
mingw32-make.exe
Verfasst: 9. April 2009 13:59
von geograman
Hi,
Es funktioniert leider keins von beidem es wird einfach kein -mwindows flag angehängt bzw er macht einfach garnichts.
Meine Notlösung sieht übrigens inzwischen so aus das ich mir einfach das komplette Komando aus der Eclipse Konsole rauskopiert habe like this:
Code: Alles auswählen
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\FK.exe debug/SP.o debug/main.o debug/fk.o debug/moc_fk.o -L"d:\Qt\4.4.3\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4
und daran dann einfach -mwindows angehängt habe und es selber manuel über die Konsole kompiliert habe was natürlich total nervtötend ist aber trotzdem funktioniert.
Es liegt also euf jeden fall nur an dem einen flag was er nicht anhängen will weil wenn ich es manuell mache funzt es einwandfrei.
mingw32-make.exe
Verfasst: 9. April 2009 14:17
von geograman
Huhu,
So nachdem ich jetzt noch 20 mal rumprobiert habe ist das Problem gelöst...
Eclipse ist das Problem der richte Eintrag im .pro file ist:
Aus irgendeinem Grund giebt Eclipse aus das das Kompilieren nicht erfolgreich war und findet keine Start Binary foglich lässt sich in Eclipse auch nichts starten weil er dann einen Fehler ausgiebt + einen haufen warnings obwohl eine Binary generiert wurde ..... >.<
Naja auf jeden fall vielen dank für eure Mühe jetzt gehts

naja so halb ....