undefined reference to `_chkstk'



  • Ich wollte eigentlich ein kleines Spiel mit der Genesis3D Engine schreiben, hab da allerdinsg ein kleines Problem:

    - Um das Makro geEngine_Create aufrufen zu können muss _INC_WINDOWS deklariert sein, weil die nämlich die <windows.h> benötigt.
    - ich binde diese also vor der genesis.h ein und definiere _INC_WINDOWS

    das ganez kompiliert ohen Fehler

    - Wenn auch nun geEngine_Create unkommentiere und nochmal kompiliere bekomem ich oben genannten Fehler.

    Ich erlaube mir einfach mal den Code zu posten, is ja nicht so lang 🙂

    #define _INC_WINDOWS
    
    #include <windows.h>
    #include <genesis.h>
    
    #include "engine_init.hpp"
    #include "main.hpp"
    
    geEngine *Engine;
    geWorld *World;
    geXForm3d XForm;
    geCamera *Camera;
    geDriver_System *DrvSys;
    geDriver *Driver; 
    geDriver_Mode *Mode;
    GE_Rect Rect;
    
    int w = 800, h = 600;
    
    void engine_init (HWND hGameWnd)
    {
      Engine = geEngine_Create(hGameWnd,"MyGame",".\\driver");
      DrvSys = geEngine_GetDriverSystem(Engine);
    
      Rect.Left = 0;
      Rect.Right = w - 1;
      Rect.Top = 0;
      Rect.Bottom = h - 1;
    }
    

    Ich hab bereits herausgefunden, dass der Fehelr auch beim kompilieren von mysql.h auftreten kann. Ich habe auch alle lib-Daten integriert...
    Was kann ich da machen?

    MfG,
    Sean



  • Das hat nix mit Standard C++ zu tun. Hört sich so an, als hättest du eine Library nicht richtig eingebunden.

    _chkstk ist auf jedenfall windowsspezifisch
    MSDN
    Ab nach WinAPI



  • du hast das falsche Forum erwischt, davie 😡 🙄



  • Nicht böse sein: aller Anfang ist schwer 😉
    Ich hoffe mal, Spiele-/Grafikprogrammierung ist das richtige 😃



  • kein problem, ordnung muss sien 😉 @flenders

    Hab das Problem gelöst, für alle anderen Genesis-User:

    Einfach statt der Static-Link-library (genesis.lib) die Dynamic-Link-Library (genesisi.lib) benutzen. Dann funktioniert es! Mehr dazu steht in der Doku, die mit installiert wird:

    {GENESISDIR}\doc\Manifest.htm#Libraries


Anmelden zum Antworten