LUA Engine einbinden //Bloodshed DEV C++



  • Hi!

    Habe beim Einbinden der LUA engine einen merkwürdigen Fehler. Wie http://lua-users.org/wiki/BuildingLua hier beschrieben, habe ich alles gemacht. Mein Code:

    #include <cstdlib>
    #include <iostream>
    
    extern "C"      {
           #include<lua/lua.h>
    }
    
    // eine globale Lua-Instanz
    lua_State* g_LuaInstance = NULL;
    void init()
    {
      // eine Lua-Instanz wird initialisiert
      g_LuaInstance = lua_open();
    }
    
    void done()
    {
      // die Lua-Instanz wird wieder freigegeben
      lua_close( g_LuaInstance );
    }
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
    
      init();
      // auf einen Tastendruck warten
      char cDummy;
      std::cin >> cDummy;
      done();
    
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    

    Rein theopraktisch müsste alles richtig sein, aber dennoch spuckt der Compiler diese Fehlermeldungen aus:

    [Linker error] undefined reference to lua_open' [Linker error] undefined reference tolua_close'
    ld returned 1 exit status
    E:\Dev-Cpp\Makefile.win [Build Error] [LUATest.exe] Error 1

    Und dass es ausgerechnet Linker errors sind, macht mich besonders stutzig, zumal ich ja extra mit extern "C" includiert habe, um die Linkerrors zu vermeiden. (Wie es auf der LUA seite auch beschrieben ist). Das Programm ist nur ein Test, deswegen hat es keinen Sinn 🙂



  • Aber dazulinken musst du die Bibliothek trotzdem. Bist du dir sicher, dass du das gemacht hast?

    Für C++ gibt es übrigens auch Luabind.



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

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

    Dieses Posting wurde automatisch erzeugt.



  • Könnte der Linker error auch dadurch kommen, dass der lua header im angegebenen Verzeichnis nicht gefunden wurde? Wobei ich das kaum glauben kann, da der pah a richtig ist und der compiler b keine fehlermeldung von wegen header nicht gefunden abgibt.


Anmelden zum Antworten