Bekomme c code nicht in dev-cpp kompieliert, finde den fehler nicht *newbie*



  • Guten morgen wissende 😉

    Habe ein grafik tut gefunden das ich mir gerne zur veranschaulichung kompilieren lassen wollte , da es sich aber noch um ein "altes" c programm handelt denke ich das gewisse befehle ausgetauscht werden müssen , hab auch schon einige sachen abgeändert , aber ihrgendwie ist da noch der wurm drin.

    Der kompeiler gibt den fehler "[BUILD ERROR] [".../c++coding/draht1/draht1.o"] ERROR 1" aus.

    Das heisst ja das er ein problem damit hat die maschienencode datei zu erstellen....das weiss ich schon 😃 .....aber warum?

    Code der datei draht1.C

    #include "..\giw\giw.h"
    #include <math.h>
    #include <stdio.h>
    #include <stdlib.h>                                   
    
    double  xwe , ywe , zwe ;          /* Koordinaten des "Eye Points"    */
    double  xwr , ywr , zwr ;          /* Koordinaten des Referenzpunktes */
    double  xwd , ywd , zwd ;          /* Koordinaten der "Blickrichtung" */
    double  pi  ;
    
    HINSTANCE  hActInstance ;
    
    LRESULT CALLBACK WndProc      (HWND , UINT , WPARAM , LPARAM) ;
    BOOL    CALLBACK DialogProcE  (HWND , UINT , WPARAM , LPARAM) ;
    BOOL    CALLBACK DialogProcD  (HWND , UINT , WPARAM , LPARAM) ;
    BOOL    CALLBACK DialogProcR  (HWND , UINT , WPARAM , LPARAM) ;
    
    int WINAPI WinMain (HINSTANCE hInstance    , HINSTANCE hPrevInstance ,
                        LPSTR     lpszCmdParam , int       nCmdShow)  
    {
         static char szAppName [] = "DRAHT1" ;
         HWND        hwnd ;
         MSG         msg  ;
         WNDCLASS    wndclass ;
    
         hActInstance = hInstance ;
         pi = atan (1.) * 4. ;              
    
         if (!hPrevInstance)
            { wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
              wndclass.lpfnWndProc   = WndProc ;
              wndclass.cbClsExtra    = 0 ;
              wndclass.cbWndExtra    = 0 ;
              wndclass.hInstance     = hInstance ;
              wndclass.hIcon         = NULL ;
              wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
              wndclass.hbrBackground = GetStockObject (WHITE_BRUSH) ;
              wndclass.lpszMenuName  = szAppName ;
              wndclass.lpszClassName = szAppName ;
    
              RegisterClass (&wndclass) ;
            }
    
         hwnd = CreateWindow (szAppName , "3D-Projektion und -Transformation" , WS_OVERLAPPEDWINDOW   ,
                              CW_USEDEFAULT , CW_USEDEFAULT , CW_USEDEFAULT , CW_USEDEFAULT ,
                              NULL , NULL , hInstance , NULL) ;
    
         ShowWindow   (hwnd , nCmdShow) ;
         UpdateWindow (hwnd) ;
    
         while (GetMessage (&msg , NULL , 0 , 0))
            { 
              TranslateMessage (&msg) ;
              DispatchMessage  (&msg) ;
            }                  
    
         return msg.wParam ;
    }
    
    LRESULT CALLBACK WndProc (HWND   hwnd   , UINT   message , 
                              WPARAM wParam , LPARAM lParam)                
    {
         static int     cxClient , cyClient ;
         static HPEN    hPenBlue ;
         static HBRUSH  hBrushYellow ;
         HDC            hdc ;
         static char    pathnm [_MAX_PATH] ;
         static char    filenm [_MAX_FNAME + _MAX_EXT] ;
         static int     nk , ne , ke , model ; 
         static double  *xy_p , *coord_p ;
         static int     rot = 1  ;
         static GI_ELEM *re_p , *elem_p ;
         int            i , k1 , k2 ;
         static double  xumin , yumin , xumax , yumax ;    
    
         switch (message)
            { 
              case WM_CREATE : 
    
                 ptini_gi () ;                          /* Initialisieren und */
                 prgte_gi (&xwe , &ywe , &zwe) ;        /* Erfragen der       */
                 prgtr_gi (&xwr , &ywr , &zwr) ;        /* Projektions-       */
                 prgtd_gi (&xwd , &ywd , &zwd) ;        /* Parameter          */   
    
                 hPenBlue     = CreatePen (PS_SOLID , 1 , mkrgb_gi (GI_BLUE)) ;
                 hBrushYellow = CreateSolidBrush (mkrgb_gi (GI_YELLOW)) ;
    
                 model = rddfl_gi (hwnd , "D_WUERFL.dat" , 
                                   &ne , &nk , &ke , &xy_p , &re_p) ;
    
                   /* ... versucht Datei "d_wuerfel.dat" zu lesen, bei Erfolg
                      werden mit ptmx3_gi die Extremwerte der "User Coordinates"
                      berechnet, die sich unter Anwendung der aktuellen
                      Transformation und der aktuellen Projektion aller Punkte
                      ergeben wuerden:                                        */
    
                 if (model) ptmx3_gi (nk  , xy_p , &xumin , &xumax  , 
                                                   &yumin , &yumax) ;
    
                 flini_gi (hwnd) ;                      /* ... als Vorbeitung */
                                                        /* fuer flodl_gi      */
                 return 0 ; 
    
    	      case WM_COMMAND:
    
                 switch (wParam)
                   { 
                     case 10:
    
                       if (flodl_gi (hwnd, pathnm , filenm))
    
                             /* ... startet den typischen "Windows-Dialog" 
                                fuer die Eingabe eines File-Namens            */
    
                         {
                             /* Wenn vom Programm bereits ein Berechnungsmodell
                                erfolgreich eingelesen worden ist, wurde
                                Speicherplatz fuer die Knoten-Koordinaten und
                                die Elementbeschreibungen dynamisch in rddfl_gi
                                angefordert, der nun freigegeben wird:        */
    
                           if (model)          
                             {
                                free     (xy_p) ;
                                frell_gi (re_p) ;  /* ... loescht die gesamte */
                             }                     /* verkettete Liste        */
    
                           model = rddfl_gi (hwnd , pathnm , 
                                             &ne , &nk , &ke , &xy_p , &re_p) ;
    
                             /* ... liest die Datei "pathnm" (Name wurde vom
                                flodl_gi-Dialog geliefert), legt dabei 
                                ausreichenden Speicherplatz fuer die Koordinaten
                                ab xy_p und fuer eine verkettete Liste mit den
                                Elementbeschreibungen (Root-Pointer re_p) an. */
    
                           if (model) ptmx3_gi (nk  , xy_p , &xumin , &xumax  , 
                                                             &yumin , &yumax) ;
    
                           InvalidateRect (hwnd , NULL , TRUE) ;
                         }
    
                       return 0 ;
    
                     case 100:                 /* ... aendert Projektionstyp: */          
    
                       if   (prgtp_gi () == GI_CENTRAL) projn_gi (GI_PARALLEL) ;
                       else                             projn_gi (GI_CENTRAL)  ;
    
                       InvalidateRect (hwnd , NULL , TRUE) ;
    
                       return 0 ;
    
                     case 200:                 /* "Eye Point" aendern:        */    
    
                       if (DialogBox (hActInstance , "EYEPOINT" , hwnd , 
                           MakeProcInstance (DialogProcE , hActInstance)))
                         {
                            if (!prste_gi (xwe , ywe , zwe))
                                MessageBox (hwnd , "Setzen der Projektion ist mißlungen!" ,
                                                   "Sorry" , MB_ICONINFORMATION | MB_OK) ;    
                            else  
                                InvalidateRect (hwnd , NULL , TRUE) ;
                         }           
    
                       return 0 ;
    
                     case 300:                 /* "Blickrichtung" aendern:    */     
    
                       if (DialogBox (hActInstance , "BLICKRICHTUNG" , hwnd , 
                           MakeProcInstance (DialogProcD , hActInstance)))
                         {
                            if (!prstd_gi (xwd , ywd , zwd))
                                MessageBox (hwnd , "Setzen der Projektion ist mißlungen!" ,
                                                   "Sorry" , MB_ICONINFORMATION | MB_OK) ;    
                            else  
                                InvalidateRect (hwnd , NULL , TRUE) ;
                         }           
    
                       return 0 ;
    
                     case 400:                  /* "Referenzpunkt" aendern:   */    
    
                       if (DialogBox (hActInstance , "REFERENZ" , hwnd , 
                           MakeProcInstance (DialogProcR , hActInstance)))
                         {
                            if (!prstr_gi (xwr , ywr , zwr))
                                MessageBox (hwnd , "Setzen der Projektion ist mißlungen!" ,
                                                   "Sorry" , MB_ICONINFORMATION | MB_OK) ;    
                            else  
                                InvalidateRect (hwnd , NULL , TRUE) ;
                         }           
    
                       return 0 ;
    
                     case 500:           /* Zurueck zur Standard-Einstellung: */  
    
                       ptini_gi () ;               
                       prgte_gi (&xwe , &ywe , &zwe) ;
                       prgtr_gi (&xwr , &ywr , &zwr) ;
                       prgtd_gi (&xwd , &ywd , &zwd) ;
    
                       InvalidateRect (hwnd , NULL , TRUE) ;
    
                       return 0 ;
    
                     case 600:           /* Tasten x, y, z, X, Y, Z sollen    */  
                                         /* Rotationen bewirken               */
                       rot = 1 ;               
                       return 0 ;
    
                     case 700:           /* Tasten x, y, z, X, Y, Z sollen    */  
                                         /* Zranslationen bewirken            */
                       rot = 0 ;               
                       return 0 ;
    
                     case 1000:             
    
                       SendMessage (hwnd , WM_CLOSE , 0 , 0L) ;               
                       return 0 ;
                    }
    
                 break ;    
    
              case WM_SIZE :
    
                   cxClient = LOWORD (lParam) ;
                   cyClient = HIWORD (lParam) ; 
    
                   return 0 ;
    
              case WM_CHAR :
    
                   switch (wParam)
                     {
                        case 'x' :  rot ? t3rot_gi (pi / 18. , GI_AXISX) :
                                          t3trn_gi (1. , 0. , 0.) ; 
                                    break ;
                        case 'X' :  rot ? t3rot_gi (- pi / 18. , GI_AXISX) :
                                          t3trn_gi (- 1. , 0. , 0.) ; 
                                    break ;
                        case 'y' :  rot ? t3rot_gi (pi / 18. , GI_AXISY) :
                                          t3trn_gi (0. , 1. , 0.) ; 
                                    break ;
                        case 'Y' :  rot ? t3rot_gi (- pi / 18. , GI_AXISY) :
                                          t3trn_gi (0. , - 1. , 0.) ; 
                                    break ;
                        case 'z' :  rot ? t3rot_gi (pi / 18. , GI_AXISZ) :
                                          t3trn_gi (0. , 0. , 1.) ; 
                                    break ;
                        case 'Z' :  rot ? t3rot_gi (- pi / 18. , GI_AXISZ) :
                                          t3trn_gi (0. , 0. , - 1.) ;
                                    break ;       
                       }
    
                   InvalidateRect (hwnd , NULL , TRUE) ;
    
                   return 0 ;        
    
              case WM_PAINT :                       
    
                   hdc = gstrt_gi (hwnd , cxClient , cyClient) ;
    
                   if (model)
                    {
                      stuci_gi (xumin , yumin , xumax , yumax , 10.) ;
    
                        /* ... definiert "User Coordinates" nach dem mit
                           ptmx3_gi ermittelten Bedarf, sieht "10% Rand" vor  */
    
                      SelectObject (hdc , hPenBlue)     ; 
                      SelectObject (hdc , hBrushYellow) ; 
    
                      elem_p = re_p ;
    
                      while (elem_p)                     /* ... alle Elemente */
                       {                
                         k1 = *(elem_p->param)     - 1 ;   /* ... zugehoerige */
                         k2 = *(elem_p->param + 1) - 1 ;   /* Knotennummern   */
    
                         coord_p = xy_p + k1*3 ;  /* Pointer auf x-Koordinate */
                         ptmov_gi (hdc , *coord_p , *(coord_p+1) , *(coord_p+2)) ;
    
                         coord_p = xy_p + k2 * 3 ;
                         ptlin_gi (hdc , *coord_p , *(coord_p+1) , *(coord_p+2)) ;
    
                         elem_p = elem_p->next ;
                       }
    
                      for (i = 0 ; i < nk ; i++)         /* ... alle Knoten   */
                       {                 
                         coord_p = xy_p + i * 3 ;
    
                         ptmrk_gi (hdc , GI_MKFCIRCLE , 1. , 
                                   *coord_p , *(coord_p+1) , *(coord_p+2) , 0) ;
    
                             /* ... zeichnet Marker (gefuellten Kreis) in
                                Standard-Groesse                              */       
    
                       }
                    }
    
                   gstop_gi (hwnd) ;  
    
                   return 0 ;
    
              case WM_DESTROY :                         
    
                   DeleteObject (hPenBlue)     ;
                   DeleteObject (hBrushYellow) ;
    
                   if (model)
                     {
                        free     (xy_p) ;
                        frell_gi (re_p) ;
                     }
    
                   PostQuitMessage (0) ;
                   return 0 ;
            }
         return DefWindowProc (hwnd, message, wParam, lParam) ;
    }
    
    BOOL CALLBACK DialogProcE (HWND   hDlg   , UINT   message ,
                               WPARAM wParam , LPARAM lParam)
    {
      char    StrBuff [15] ;                       
    
      switch (message)
      {                   
        case WM_INITDIALOG:
    
          sprintf (StrBuff , "%12g" , xwe) ;
          SetDlgItemText (hDlg , 110 , StrBuff) ;
    
          sprintf (StrBuff , "%12g" , ywe) ;
          SetDlgItemText (hDlg , 210 , StrBuff) ;                                             
    
          sprintf (StrBuff , "%12g" , zwe) ;
          SetDlgItemText (hDlg , 310 , StrBuff) ;
    
          return TRUE ;
    
        case WM_COMMAND:            
    
          switch (wParam)
            {            
              case IDOK: 
    
                GetDlgItemText (hDlg , 110 , StrBuff , 15) ; 
                xwe = atof (StrBuff) ;
    
                GetDlgItemText (hDlg , 210 , StrBuff , 15) ; 
                ywe = atof (StrBuff) ;
    
                GetDlgItemText (hDlg , 310 , StrBuff , 15) ; 
                zwe = atof (StrBuff) ;
    
                EndDialog (hDlg , TRUE) ; 
    
                return TRUE ;
    
              case IDCANCEL:  
    
                EndDialog (hDlg , FALSE) ; 
    
                return TRUE ;
            }
      }
      return FALSE ;
    }
    
    BOOL CALLBACK DialogProcD (HWND   hDlg   , UINT   message ,
                               WPARAM wParam , LPARAM lParam)
    {
      char    StrBuff [15] ;                       
    
      switch (message)
      {                   
        case WM_INITDIALOG:
    
          sprintf (StrBuff , "%12g" , xwd) ;
          SetDlgItemText (hDlg , 110 , StrBuff) ;
    
          sprintf (StrBuff , "%12g" , ywd) ;
          SetDlgItemText (hDlg , 210 , StrBuff) ;                                             
    
          sprintf (StrBuff , "%12g" , zwd) ;
          SetDlgItemText (hDlg , 310 , StrBuff) ;
    
          return TRUE ;
    
        case WM_COMMAND:            
    
          switch (wParam)
            {            
              case IDOK: 
    
                GetDlgItemText (hDlg , 110 , StrBuff , 15) ; 
                xwd = atof (StrBuff) ;
    
                GetDlgItemText (hDlg , 210 , StrBuff , 15) ; 
                ywd = atof (StrBuff) ;
    
                GetDlgItemText (hDlg , 310 , StrBuff , 15) ; 
                zwd = atof (StrBuff) ;
    
                EndDialog (hDlg , TRUE) ; 
    
                return TRUE ;
    
              case IDCANCEL:  
    
                EndDialog (hDlg , FALSE) ; 
    
                return TRUE ;
            }
      }
      return FALSE ;
    }
    
    BOOL CALLBACK DialogProcR (HWND   hDlg   , UINT   message ,
                               WPARAM wParam , LPARAM lParam)
    {
      char    StrBuff [15] ;                       
    
      switch (message)
      {                   
        case WM_INITDIALOG:
    
          sprintf (StrBuff , "%12g" , xwr) ;
          SetDlgItemText (hDlg , 110 , StrBuff) ;
    
          sprintf (StrBuff , "%12g" , ywr) ;
          SetDlgItemText (hDlg , 210 , StrBuff) ;                                             
    
          sprintf (StrBuff , "%12g" , zwr) ;
          SetDlgItemText (hDlg , 310 , StrBuff) ;
    
          return TRUE ;
    
        case WM_COMMAND:            
    
          switch (wParam)
            {            
              case IDOK: 
    
                GetDlgItemText (hDlg , 110 , StrBuff , 15) ; 
                xwr = atof (StrBuff) ;
    
                GetDlgItemText (hDlg , 210 , StrBuff , 15) ; 
                ywr = atof (StrBuff) ;
    
                GetDlgItemText (hDlg , 310 , StrBuff , 15) ; 
                zwr = atof (StrBuff) ;
    
                EndDialog (hDlg , TRUE) ; 
    
                return TRUE ;
    
              case IDCANCEL:  
    
                EndDialog (hDlg , FALSE) ; 
    
                return TRUE ;
            }
      }
      return FALSE ;
    }
    

    Code der datei draht1.RC

    #include <windows.h>
    
    DRAHT1 MENU
    {
        POPUP "&Datei"
          {
             MENUITEM "&Datei öffnen"        ,    10
             MENUITEM "&Programm beenden"    ,  1000
          }
    
        POPUP "&Projektion"
          {                             
             MENUITEM "&Projektionstyp ändern"    ,  100
             MENUITEM "&Eye Point (Zentr.-Pr.)"   ,  200 
             MENUITEM "&Blickrichtung (Par.-Pr.)" ,  300 
             MENUITEM "&Referenzpunkt (Proj-Eb.)" ,  400 
             MENUITEM "&Standard-Einstellung"     ,  500 
          } 
    
        POPUP "&Transformation"
          {                             
             MENUITEM "&Rotation"                 ,  600
             MENUITEM "&Translation"              ,  700 
          } 
    }
    
    EYEPOINT DIALOG DISCARDABLE 30 , 30 , 155 , 100
    STYLE    DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
    CAPTION  "Eye Point (Projektionszentrum)"
    FONT     8 , "Helv"
    BEGIN
        LTEXT           "Eye Point:" , 100 , 12 , 10 , 110 , 13
        LTEXT           "x =" , 101 , 80 , 10 , 110 , 13
        EDITTEXT        110 , 100 ,  9 , 40 , 12
        LTEXT           "y =" , 201 , 80 , 30 , 110 , 13
        EDITTEXT        210 , 100 , 29 , 40 , 12
        LTEXT           "z =" , 202 , 80 , 50 , 110 , 13
        EDITTEXT        310 , 100 , 49 , 40 , 12
        DEFPUSHBUTTON   "OK" , IDOK , 20 , 75 , 50 , 14
        PUSHBUTTON      "Abbrechen" , IDCANCEL , 83 , 75 , 50 , 14
    END
    
    REFERENZ DIALOG DISCARDABLE 30 , 30 , 155 , 100
    STYLE    DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
    CAPTION  "Referenzpunkt (Projektionsebene)"
    FONT     8 , "Helv"
    BEGIN
        LTEXT           "Referenzpunkt:" , 102 , 12 , 10 , 110 , 13
        LTEXT           "x =" , 103 , 80 , 10 , 110 , 13
        EDITTEXT        110 , 100 ,  9 , 40 , 12
        LTEXT           "y =" , 203 , 80 , 30 , 110 , 13
        EDITTEXT        210 , 100 , 29 , 40 , 12
        LTEXT           "z =" , 204 , 80 , 50 , 110 , 13
        EDITTEXT        310 , 100 , 49 , 40 , 12
        DEFPUSHBUTTON   "OK" , IDOK , 20 , 75 , 50 , 14
        PUSHBUTTON      "Abbrechen" , IDCANCEL , 83 , 75 , 50 , 14
    END
    
    BLICKRICHTUNG DIALOG DISCARDABLE 30 , 30 , 155 , 100
    STYLE    DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
    CAPTION  "Blickrichtung (Parallelprojektion)"
    FONT     8 , "Helv"
    BEGIN
        LTEXT           "Blickrichtung:" , 104 , 12 , 10 , 110 , 13
        LTEXT           "x =" , 105 , 80 , 10 , 110 , 13
        EDITTEXT        110 , 100 ,  9 , 40 , 12
        LTEXT           "y =" , 205 , 80 , 30 , 110 , 13
        EDITTEXT        210 , 100 , 29 , 40 , 12
        LTEXT           "z =" , 206 , 80 , 50 , 110 , 13
        EDITTEXT        310 , 100 , 49 , 40 , 12
        DEFPUSHBUTTON   "OK" , IDOK , 20 , 75 , 50 , 14
        PUSHBUTTON      "Abbrechen" , IDCANCEL , 83 , 75 , 50 , 14
    END
    

    Hab vor daraus eine Feder zu machen.

    zudem hab ich noch ne frage zum thema "hooking von dateien"

    ihrgend wie scheut man sich näher aufs thema einzugehen (hab mal gehört das diese metohde auch zum viren programieren benutzt wir....stimmt das????)

    Wil ich aber garnicht, will nur eine openGL32.dll hooken um daten aus einem game zu verändern, mehr nicht. mir reicht es wenn ihr mir vielleicht einen link geben könntet der näher auf das thema eingeht!

    Danke für eure hilfe, David



  • Hab einfach mal den original code gepostet...

    Hab bei den #include befehlen die .h endung weg gemacht.

    den using namespace befehl brauche ich doch nicht oder?

    und weiter weiss ich auch schon nicht 😉



  • sorry für das post, werde mich registrieren um editieren zu können....

    #include "..\giw\giw.h" <---soll ich da lieber den kompletten pfad angeben?



  • Source inside schrieb:

    Hab bei den #include befehlen die .h endung weg gemacht.

    Dann sind das aber völlig andere Dateien 😉 (die C++ Äquivalente zu den C-Headern haben noch ein c am Anfang des Namens - aus <math.h> wird <cmath>
    {quote]den using namespace befehl brauche ich doch nicht oder?
    [/quote]Wenn du vor jeden Funktionsaufruf und jeden Typ/Objekt/... aus der Standard-Bibliothek ein "std::" davorsetzen willst, nicht 😉

    btw, könntest du den Code mal etwas kürzen - in so langen Texten will niemand nach einem Fehler suchen (zumindest nicht ohne nähere Anhaltspunkte).



  • ok hab jetzt soweit alles geändert (cmathe usw..), komme auch schon ein stück weiter wie gerade

    HINSTANCE hActInstance ;

    da macht er wieder stop und ich bekomme mehrere fehlermeldungen vom kopiler

    `HINSTANCE' does not name a typ

    das selbe auch für

    `BOOL' ; `LRESULT' und für den befehl `WINAPI'

    ja aber wenn ich den code "kürze" wie sollen denn dann putenzielle fehler gefunden werden?

    Ich war mir nämlich nicht sicher ob sich vielleicht einige befehle unter c++ geändert haben , deswegen der komplette source.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • *grübelt* HINSTANCE, LRESULT,... sind kein Bestandteil der Standard-Bibliothek, sondern sind spezielle typedef's und #defines für die WinAPI - da müsstest du mal in der Hilfe deines Compilers nachsehen, welche Include-Dateien du für die Definitionen benötigst.

    (wenn dort nichts drinsteht, such das Include-Verzeichnis des Compilers nach den Bezeichnern ab ;))



  • Gut gut, dachte schon ich finde die datei nie 😮 die hilfe ist für den popo 😃

    hab jetzt die datei <windows.h> hinzugefügt....und komme jetzt bis

    wndclass.hbrBackground = GetStockObject (WHITE_BRUSH) ;

    scheint mir so als würde da noch ne menge fehlen .......37 fehler sind es jetzt geworden....phew, das hatte ich mir aber anders vorgestellt 🤡

    was mich am meisten wundert ist ja das es ein tutorial ist, wer stellt ein tut mit sovielen fehlern ins netz 😕 ....sollte laut anbieter des tuts einwandfrei laufen , also keine übung zum korrigieren!
    ----------------------------------------------
    Fehlermeldung vom kompiler
    ----------------------------------------------
    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C: In function `int WinMain(HINSTANCE__, HINSTANCE__, CHAR*, int)':

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:45: error: invalid conversion from `void*' to `HBRUSH__*'

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C: In function `LRESULT WndProc(HWND__*, UINT, WPARAM, LPARAM)':
    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:80: error: expected primary-expression before "static"

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:80: error: expected `;' before "static"

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:88: error: `ptini_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:88: error: (Each undeclared identifier is reported only once for each function it appears in.)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:89: error: `prgte_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:90: error: `prgtr_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:91: error: `prgtd_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:93: error: `GI_BLUE' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:93: error: `mkrgb_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:94: error: `GI_YELLOW' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:97: error: `re_p' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:97: error: `rddfl_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:106: error: `ptmx3_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:108: error: `flini_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:118: error: `flodl_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:133: error: `frell_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:155: error: `prgtp_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:155: error: `GI_CENTRAL' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:155: error: `GI_PARALLEL' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:155: error: `projn_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:167: error: `prste_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:181: error: `prstd_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:195: error: `prstr_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:244: error: `GI_AXISX' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:244: error: `t3rot_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:245: error: `t3trn_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:250: error: `GI_AXISY' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:256: error: `GI_AXISZ' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:270: error: `gstrt_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:274: error: `stuci_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:282: error: `elem_p' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:290: error: `ptmov_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:293: error: `ptlin_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:302: error: `GI_MKFCIRCLE' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:303: error: `ptmrk_gi' undeclared (first use this function)

    \\Citrixserver\qualitätsmanagement\00_TEMP\DK\Temp\C++ coding\c_grafik_giw\DRAHT1\DRAHT1.C:311: error: `gstop_gi' undeclared (first use this function)

    Ausführung beendet



  • ops, hatte die dateinen nicht in ein und dem selben projekt....hab ich geändert

    jetzt bekomme ich die selbe fehlermeldung wie zu beginn meines postings:

    C:\Dev-Cpp\Makefile.win [Build Error] ["//Citrixserver/qualitätsmanagement/00_TEMP/DK/Temp/C++ coding/c_grafik_giw/DRAHT1/DRAHT1.o"] Error 1

    😞


Anmelden zum Antworten