Auchn dickes Danke an dich _matze ^^.
Hätt ich gewusst das ich hier so schnelle und kompetente Hilfe krieg hätt ich nie solange gegoogled xD.
Gruß Fussel
Hallo
Ich benutze unter windows eclipse C++, habe dazu den (Linker?) mingw.
Ich habe des öfteren Probleme mit eclipse wenn ich meine c++ komplieren will.
Momentan habe ich ein Programm 1:1 aus dem Lehrbuch abgeschrieben und erhalte beim kompilieren folgenden Fehler:
**** Build of configuration Default for project CreditCard2 ****
mingw32-make -f makefile all
g++ -o CreditCard2.exe CreditCard2.o
C:/Programme/MinGW/bin/../lib/gcc-lib/mingw32/3.2.3/../../../libmingw32.a(main.o)(.text+0x97):main.c: undefined reference to `WinMain@16'
mingw32-make: *** [CreditCard2.exe] Error 1
Ich hab gegoogelt und anscheinend gibt es öfters Probleme unter der kombination windows und wingw:
Z.B. hab ich gelesen:
"mittlerweile klappts, falls mal irgendwer die gleichen probleme hat, man muss in der reihenfolge
-lmingw32
-lSDLmain
-lSDL
(-lopengl32)
in verlinken".
(http://www.eclipseproject.de/modules.php?name=Forums&file=viewtopic&t=5383)
Aber ich habe keine Ahnung, wie das geht. Oder ob das hilft.
Einige haben auch geschrieben, dass der Linker ein win32 Fenster machen will, anstatt ein Konsolen-Dings.
Wo könnte der Fehler liegen
Falls das was hilft:
das Makefile schaut so aus:
CXXFLAGS = -O2 -g -Wall -fmessage-length=0
OBJS = CreditCard2.o
LIBS =
TARGET = CreditCard2.exe
$(TARGET): (OBJS)(OBJS)
(OBJS)(CXX) -o $(TARGET) $(OBJS) $(LIBS)
all: $(TARGET)
clean:
rm -f $(OBJS) $(TARGET)
Vielen Dank für die Hilfe
Gruss Nathan
Scorcher24 schrieb:
Ich möchte ja nicht den Klugscheisser spielen ( ich weiss, is zu spät ) aber ich finde BUILD-Kommandos innerhalb des Source-Codes... mhh, unlegant.
Warum ist das so designed? Wenn du sowas schon baust, warum nimmst du nicht ein Makefile als Eingabe für die BUILD-Kommandos?
Ich hoffe die Frage ist mal am Rande gestattet...
rya.
Weil ich komplett auf build-files verzichte (deshalb baue ich mir auch mein eigenens, automatisiertes Build-system) und kein auto-linking eh' bei vielen einzel Bibliotheken (z.B. boost) auf dauer einfach nur nervig ist.
Jochen Kalmbach schrieb:
Hast Du vielleicht bei *mehreren* cpp-Datein das pch aktiviert???
Jup, ich Idiot hab die PCH global aktiviert anstatt nur für eine Datei. Hat wohl ne zeitlang funktioniert und jetzt hats halt "geknallt"...
Danke Jochen :).
rya.
All die Build-Schritte kannst du ja in ein Skript/Programm schreiben und dann dieses Programm als Compiler in VS einbinden. Schau dir zum Beispiel mal ein Guide an wie man QT in VS integriert in der nicht-kommerziellen Version (d.h. die Express-Variante).
Oder schreibe ein Makefile das deine Build-Prozedur erledigt und erstelle ein Makefile-Projekt in VS.
_matze schrieb:
Ein Upgrade kommt auch nicht in Frage?
Naja weiß nicht, bin doch soweit überzeugt wurden, dass ich mir grad die 2008er Prof als Trial ziehe.
Ich hab von dem Upgrade usw. keine Ahnung, wie würde das denn genau funktionieren ??
Die 2008er werd ich mir früher oder später bestimmt ansehn müssen.
@Bulli:
Da hast du wohl Recht.
Wenn ich Zeit hab, werd ich mich mal darum kümmern.
EDIT:
Sind ja 90 Tage zum Testen hab ich grad gesehen.
Das ist ja schonmal besser.
Was ich noch vergessen habe: Die Informationen kannst Du beispielsweise mit dem Qt Assistant unter dem Eintrag QMake Manual/qmake Project Files nachlesen.
Wenn du schon Globale erzeugen willst, dann deklarier sie in globals.h und auch in main.cpp mit "extern":
globals.h
int blub;
main.cpp
#include globals.h
extern int blub;
Aber von Globalen würde ich dir (außer in ganz wenigen Fällen) abraten. Sowas ist unnötig und schlechter Stil. Wozu willst du die denn benutzen?
Merke: Niemals cpp-Dateien per #include einbinden! Man bindest eigentlich nur Header ein.