mingw32-make.exe

Verschiedenes zu Qt
Antworten
geograman
Beiträge: 28
Registriert: 23. November 2008 18:58

mingw32-make.exe

Beitrag 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 ? :cry:
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
geograman
Beiträge: 28
Registriert: 23. November 2008 18:58

mingw32-make.exe

Beitrag 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.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Dann solltest Du es wohl zu den Linkerflags hinzufügen - es mingw32-make zu übergeben ist total sinnlos...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
geograman
Beiträge: 28
Registriert: 23. November 2008 18:58

mingw32-make.exe

Beitrag 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?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich benutz Eclipse nicht - ein Java Proggie zum Programmieren von C++ ist mir irgendwie... naja ;)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
geograman
Beiträge: 28
Registriert: 23. November 2008 18:58

mingw32-make.exe

Beitrag von geograman »

Ich mag Java auch nicht ...
muss es leider trotzdem können >.<.
Giebt es keine andere Möglichkeit das Flag irgendwie reinzubasteln?
FaS
Beiträge: 184
Registriert: 25. Mai 2006 19:48
Kontaktdaten:

Beitrag 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..
androphinx
Beiträge: 170
Registriert: 26. Januar 2009 09:19
Wohnort: 127.0.0.2

Beitrag 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
geograman
Beiträge: 28
Registriert: 23. November 2008 18:58

mingw32-make.exe

Beitrag 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.
MiKla
Beiträge: 134
Registriert: 29. Juli 2007 15:29

Beitrag von MiKla »

gehört das nicht auch zu den:

Code: Alles auswählen

QMAKE_CXXFLAGS
Bsp.::

Code: Alles auswählen

QMAKE_CXXFLAGS="-march=k8 -mtune=k8 -msse3"
im Pro File????!!!!????!!!!


Michael
geograman
Beiträge: 28
Registriert: 23. November 2008 18:58

mingw32-make.exe

Beitrag von geograman »

Vielen dank euch,

leider erscheinen immer noch die gleichen warnings wie oben beschrieben.
FaS
Beiträge: 184
Registriert: 25. Mai 2006 19:48
Kontaktdaten:

Beitrag 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.
geograman
Beiträge: 28
Registriert: 23. November 2008 18:58

mingw32-make.exe

Beitrag 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.
geograman
Beiträge: 28
Registriert: 23. November 2008 18:58

mingw32-make.exe

Beitrag 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:

Code: Alles auswählen


QMAKE_LFLAGS  = -mwindows

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 ....
Antworten