Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Fehler beim Compilieren..

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.04.2004, 17:07 Uhr
Fraenky



hi Leute!
ich wollte mal mein erstes fenster erstellen:
(de Code hab ich von einem Tutorial)

C++:
#include <windows.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

LPCSTR lpszAppName = "AppName";
LPCSTR lpszTitle   = "Meine erste Applikation";

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
   HWND       hWnd;
   MSG        msg;
   WNDCLASSEX   wc;

   wc.cbSize        =  sizeof(WNDCLASSEX);
   wc.style         =  CS_HREDRAW | CS_VREDRAW;
   wc.lpfnWndProc   =  WndProc;
   wc.cbClsExtra    =  0;
   wc.cbWndExtra    =  0;
   wc.hInstance     =  hInstance;
   wc.hCursor       =  LoadCursor(NULL,IDC_ARROW);
   wc.hIcon         =  LoadIcon(NULL, IDI_APPLICATION);
   wc.hbrBackground =  (HBRUSH)GetStockObject(WHITE_BRUSH);
   wc.lpszClassName =  lpszAppName;
   wc.lpszMenuName  =  lpszAppName;
   wc.hIconSm       =  LoadIcon(NULL, IDI_APPLICATION);

   if( RegisterClassEx(&wc) == 0)
      return 0;

   hWnd = CreateWindowEx(NULL,
                         lpszAppName,
                         lpszTitle,
                         WS_OVERLAPPEDWINDOW,
                         0,
                         0,
                         CW_USEDEFAULT,
                         CW_USEDEFAULT,
                         NULL,
                         NULL,
                         hInstance,
                         NULL);

   if( hWnd == NULL)
      return 0;

   ShowWindow(hWnd, iCmdShow);
   UpdateWindow(hWnd);

   while (GetMessage(&msg, NULL, 0, 0) > 0)
   {
      TranslateMessage(&msg);
      DispatchMessage(&msg);
   }
   return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT umsg, WPARAM wParam, LPARAM lParam)
{
   switch (umsg)
   {
   case WM_DESTROY:
      {
         PostQuitMessage(0);
         return 0;
      }
   }
   return DefWindowProc(hWnd, umsg, wParam, lParam);
}


ich bekomme aber diese fehlermeldung:
Error: Unresolved external '_main' referenced from C:\BORLAND\BCC55\LIB\C0X32.OBJ

Ich habe den Borland 5 Compiler.
Ich muss das ganz auch noch mit nem Makefile machen:

C++:
# Pfade zu Include-Dateien und libs in Variablen speichern
INCLUDE = C:\Borland\BCC55\Include
LIB = C:\Borland\BCC55\Lib
CPP = bcc32

# Abhängikeiten von "fenster.exe"
fenster.exe: fenster.obj
    $(CPP) -I$(INCLUDE) -L$(LIB) fenster.obj -o$@
    
# Algemeine Abhängigkeit von Objektdateien
.cpp.obj:
    $(CPP) -I$(INCLUDE) -L$(LIB) -c $<
    
#Target "clean"
clean:
    del *.obj
    del *.exe
    del *.tds


Wieso gibt er denn bei der Borland Bibliothek einen Fehler aus?! Ham die da was falsch gemacht?

THX!

MfG
Fraenky
--
Welcome to the real World.

www.fraenkysweb.de

Dieser Post wurde am 04.04.2004 um 19:42 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.04.2004, 18:18 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi,
du musst dem Compiler mitteilen das er ein Windows-Programm kompilieren soll (also mit WinMain). Im Moment ist er als Konsolenanwendung eingestellt, deswegen sucht er eine main/_main-Funktion.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.04.2004, 18:37 Uhr
theosoft



... und umstellen kannst du das im "Target-Expert". Diesen Menuepunkt findest du wenn du im Editor mit der rechten Maustaste das lokale Menue aktivierst.
mfg theo
--
ifS (immer fröhliches Schaffen)
theosoft
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.04.2004, 19:36 Uhr
Fraenky



i habe kein Editor bzw. sowas wie VC++ oder sowas ähnliches... i hab UltraEdit und dann mein Standard makefile...muss ich da irgendwas drin verändern..??
--
Welcome to the real World.

www.fraenkysweb.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.04.2004, 19:43 Uhr
Fraenky



hab was in den Tutorials gefunden:
"Beim Borland Compiler ist folgendes als Parameter zu übergeben: bcc32 -tW document"
wobei document die datei ist (datei.cpp)
hab i dann auch gemacht:

C++:
# Pfade zu Include-Dateien und libs in Variablen speichern
INCLUDE = C:\Borland\BCC55\Include
LIB = C:\Borland\BCC55\Lib
CPP = bcc32 [b]-tW fenster.cpp[/b]

# Abhängikeiten von "fenster.exe"
fenster.exe: fenster.obj
    $(CPP) -I$(INCLUDE) -L$(LIB) fenster.obj -o$@
    
# Algemeine Abhängigkeit von Objektdateien
.cpp.obj:
    $(CPP) -I$(INCLUDE) -L$(LIB) -c $<
    
#Target "clean"
clean:
    del *.obj
    del *.exe
    del *.tds


und nu bringt er zwar die erste Fehlermeldung nich mehr, aber dafür 7 neue:

Error E2209 fenster.cpp 1: Unable to open include file 'windows.h'
Error E2141 fenster.cpp 3: Declaration syntax error
Error E2141 fenster.cpp 5: Declaration syntax error
Error E2238 fenster.cpp 6: Multiple declaration for 'LPCSTR'
Error E2344 fenster.cpp 5: Earlier declaration of 'LPCSTR'
Error E2141 fenster.cpp 6: Declaration syntax error
Error E2141 fenster.cpp 8: Declaration syntax error

es ist immer noch derselbe Quelltext wie oben..

THX!

MfG
Fraenky
--
Welcome to the real World.

www.fraenkysweb.de

Dieser Post wurde am 04.04.2004 um 19:44 Uhr von Fraenky editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
04.04.2004, 19:56 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


liegen die include-dateien auch unter C: \Borland\BCC55\Include ? diese Pfade musst du natürlich an dein System anpassen
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
04.04.2004, 20:19 Uhr
Fraenky



ja klar..hab extra nochmal nachgeschaut...
--
Welcome to the real World.

www.fraenkysweb.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
04.04.2004, 21:21 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


falls die windows.h nicht existiert in dem include-verzeichnis, ist deine bcc-installation nicht komplett
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
04.04.2004, 21:55 Uhr
Fraenky



doch die existiert....da gibs noch ne windows.h Datei die heißt windowsx.h oder so... aber existieren tut sie auf jedenfall...
--
Welcome to the real World.

www.fraenkysweb.de

Dieser Post wurde am 04.04.2004 um 21:56 Uhr von Fraenky editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
26.04.2004, 16:48 Uhr
~icharno
Gast


du solltest im bcc55\bin\ eine bcc32.cfg anlegen

Ic..\bcc55\Include\
Lc..\bcc55\Lib\

dann werden header und libs (auch obj ) gefunden
man kann eine spezielle config-Datei auch im aktuellen Verzeichnis anlegen
fuer den Linker eine ilink32.cfg ...

viel spass

wenn Du erfolgreich mit brc32 oder brcc32 die ersten Resourcen eingebunden hast, kannst Du mir helfen ..ö..
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: