Frage zur Windows.h
-
Hallo.
Ich fange grad mit Windows Programmierung an.Nun habe ich ein Beispiel aus einem (sehr alten) Buch abgeschrieben.
#include <windows.h> int PASCAL WinMain (HANDLE hInstance, HANDLE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) { return 0; }Nun heißt es [Linker error]undefined reference to 'WinMain@16'
Id returned exit status 1Was muss man machen? Und wo kann ich bei sowas herausfinden was ich anders machen muss
weil des buch ist ja sehr alt da wirds ja bestimmt hier im Internet irgendwo Hilfen geben 
Gruß & Vielen Dank
-
HMm mal so eine Frage nebenbei ... verwendest du DevC++?!
#include <windows.h> int WINAPI WinMain (HINSTANCE, HINSTANCE, PSTR, int) { return 0; }sollte soweit eigentlich richtig sein ...
-
http://www.henkessoft.de/C++/WinAPI/WinAPI Kapitel 1 bis 6/api1.htm
__stdcall
WINAPI
APIENTRY
FAR PASCAL
far pascalalles der gleiche Käse.

Es geht hier um einen Linker error!
-
Ich glaube das er die main() funktion als einsprungsfunktion sucht und keien findet, du musst dem linker irgendwie sagen das WinMain der einspungspunkt ist normal macht man das in den Projekt einstellungen
-
extern "C" int WINAPI WinMain(...)?
-
Bei MSVC++6 Kompiler in den Projekteinstellungenn (Settings)
bei Code Generation auf Multithreaded DLL stellen und bei
Precompiled Header die erste Option Vorkompilierte Header nicht verwenden.
Dann alles neu kompilieren.
-
@schokomann: 1. sagt der OP nirgens, welchen compiler nebst ide er verwendet, 2. sind Deine Einstellungen denk ich käse. Ich hab' das VC6.0 zwar schon länger nicht mehr in der Hand gehabt, aber ich denk auch da wär es irgendwas á le /SUBSYSTEM:WINDOWS
greetz, Swordfish
-
@swordfish
hast Recht.
Meine Aussage sollte erst mal nur für MSVC++6 gelten.
Aber auch da ist es nicht so. Habe versucht so einen Fehler zu produzieren.Wenn ich ein Konsoleprojekt anlege bekomme ich einen Linkerfehler
und dann muss ich nur /subsystem:windows statt /subsystem:console
in den Einstellungen ändern, dann klappt es.
Ach ich habe noch bei Präprozessor Def. _CONSOLE entfernt.Ansonsten direkt ein Win32 Projekt erstellen, dann klappt es sofort.
Gut, dass das noch mal einer kontrolliert hat.
Ansonsten
Viel Spaß noch
-
Sollte MinGW32 oder wie das Ding heißt als Compiler sein ... zumindest ist dass das Format in dem Fehler da ausgegeben werden (laut google
)
-
Hi, ich benutze Cygwin... Weiß nicht wo man das da einstellt. Mit Dev-C++ gehts ja. Schonmal Danke.
Gruß