Windows Programme je nach Compiler verschieden?
-
Hallo,
hab mal wieder eine Frage die in meinem Buch leider nirgendwo beschrieben ist ...:
Wenn ich eine ganz einfach Fensteranwendung schreibe (WinXP) mit Dev-C++ dann hat er ja schon ein bestimmtes Grundgerüst an Code. Wenn ich diesen Code nun mit dem Borland Compiler kompilieren will, gibt es aber dutzende von Fehlermeldungen .. Woran liegt das? Es liegt allerdings wohl nicht daran, dass ein Header fehlt, denn die kennt er alle ...Genauso ist es, als ich ein Beispiel aus einem Buch abgetippt hab, dass ein Fenster erstellen soll und bei Mausklick an der Position einen Text ausgibt. Das zu kompilieren klappt weder bei Dev-C++ noch bei dem Borland Compiler ...
Ich weiß zwar, dass Fensteranwendungen für einen Anfänger nichts sind, aber ich war einfach mal neugierig, wie das ganze im Vergleich zu Delphi aussieht Und dann ist es schon etwas frustrierend wenn man gleich lauter Errors bekommt
-
Ob du es glaubst oder nicht, aber der genaue Wortlaut der Fehlermeldungen wäre schon von Interesse. Oder wie denkst du, soll man dir jetzt helfen?
-
#include <windows.h> /* Declare Windows procedure */ LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM); /* Make the class name into a global variable */ char szClassName[ ] = "WindowsApp"; int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) { HWND hwnd; /* This is the handle for our window */ MSG messages; /* Here messages to the application are saved */ WNDCLASSEX wincl; /* Data structure for the windowclass */ /* The Window structure */ wincl.hInstance = hThisInstance; wincl.lpszClassName = szClassName; wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */ wincl.style = CS_DBLCLKS; /* Catch double-clicks */ wincl.cbSize = sizeof(WNDCLASSEX); /* Use default icon and mouse-pointer */ wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION); wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION); wincl.hCursor = LoadCursor(NULL, IDC_ARROW); wincl.lpszMenuName = NULL; /* No menu */ wincl.cbClsExtra = 0; /* No extra bytes after the window class */ wincl.cbWndExtra = 0; /* structure or the window instance */ /* Use light-gray as the background of the window */ wincl.hbrBackground = (HBRUSH) GetStockObject(LTGRAY_BRUSH); /* Register the window class, if fail quit the program */ if(!RegisterClassEx(&wincl)) return 0; /* The class is registered, let's create the program*/ hwnd = CreateWindowEx( 0, /* Extended possibilites for variation */ szClassName, /* Classname */ "Windows App", /* Title Text */ WS_OVERLAPPEDWINDOW, /* default window */ CW_USEDEFAULT, /* Windows decides the position */ CW_USEDEFAULT, /* where the window ends up on the screen */ 544, /* The programs width */ 375, /* and height in pixels */ HWND_DESKTOP, /* The window is a child-window to desktop */ NULL, /* No menu */ hThisInstance, /* Program Instance handler */ NULL /* No Window Creation data */ ); /* Make the window visible on the screen */ ShowWindow(hwnd, nFunsterStil); /* Run the message loop. It will run until GetMessage( ) returns 0 */ while(GetMessage(&messages, NULL, 0, 0)) { /* Translate virtual-key messages into character messages */ TranslateMessage(&messages); /* Send message to WindowProcedure */ DispatchMessage(&messages); } /* The program return-value is 0 - The value that PostQuitMessage( ) gave */ return messages.wParam; } /* This function is called by the Windows function DispatchMessage( ) */ LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) /* handle the messages */ { case WM_DESTROY: PostQuitMessage(0); /* send a WM_QUIT to the message queue */ break; default: /* for messages that we don't deal with */ return DefWindowProc(hwnd, message, wParam, lParam); } return 0; }
Das hier ist der standardmäßig von Dev-C++ erstelle Code zum erstellen eines einfach Fensters. (Sorry, das mit dem C++ - Code klappt nicht, da kommt ein Interner Serverfehler ...)
Wenn ich nun mit dem Borland Compiler kompilieren möchte kommen diese Fehler aus denen ich als Anfänger natürlich nicht schlau werde ... :
http://www.freepgs.com/johannesmaier/Errors1.JPGBtw: Du bist doch auf dem Delphi-Forum oder?
-
du musst deinem boraldn-compiler npch irgendwie beibringen, dass du eine Windows-Application erstellen willst. Dein Compiler sucht nach main() was er aber nicht findet, und main() ist nur bei Konsole.
-
Dieser Thread wurde von Moderator/in flenders aus dem Forum WinAPI in das Forum Andere Compiler verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
so sollte es funktionieren
bcc32 uTest.cpp -tW
-
@Dragon: Nein, da kommen haargenau die gleichen Meldungen.
@abcd: Und wie mach ich das?
Achja, genauso stellt sich das Problem ja, wenn ich mit Dev-C++ eine Windows-Applikation erstelle, und dort den Code aus dem C++-Kompendium abtippe ... Dann kommen dort auch immer Fehler ...
-
Bist du dir sicher das die
Unresolved external '_main'...
Meldung immer noch kommt, wenn du -tW benutzt?
Normalerweise müsste die nicht mehr kommen. Nur noch die Warnungen...
-
Ja bin ich! Sieh selbst ;):
Hmm mein Webspace ist gerade down, sobald er wieder geht häng ich das Bild mal an, aber ich hab es gerade nochmal versucht und der Fehler kam wieder ...
-
Normalerweise schreibt man die Optionen vor die Files.
-
Spiel mal dieses Tutorial hier durch, bis du mit Erfolg ein Fensterprog hast:
http://www.webnotes.org/bcc55eng.htmAchte insbesondere auf die richtig eingerichteten CFG Dateien!
-
Hey vielen Dank
Ich hab den Fehler: Ihr habt mir gesagt ich solle schreiben "bcc32 uTest.cpp -tW" aber mit "bcc32 -tW uTest.cpp" klappt es einwandfrei! :p
Also vielen Dank nochmal, damit hat sich auch die ursprüngliche Frage erledigt