Hi Forum!
Ich möchte mit meinem C++ Programm ein Luascript ausführen.
Dazu binde ich am Anfang ein paar Headerdateien ein:
|
C-/C++-Quelltext
|
1
2
3
4
5
|
extern "C" {
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
}
|
Mein erstes Problem war schonmal, dass ich diese Header nicht hatte. Nach langem Suchen hab ich sie dann endlich mal gefunden, aber leider bekomm ich Fehler:
|
Quellcode
|
1
2
3
|
error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_lua_getfield" in Funktion ""public: void __thiscall Agent::init(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?init@Agent@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)".
error LNK2005: __cexit ist bereits in MSVCRTD.lib(MSVCR90D.dll) definiert.
|
Von diesen beiden Arten bekommen ich ziemlich viele (35). Dieses "Verweis auf nicht aufgelöstes externes Symbol" kommt doch, wenn man eine Funktion aufruft, von der man nur eine Deklaration hat?
Dachte ich mir, dass es eigentlich klar ist, schließlich hab ich nur Headerdateien eingefügt. Also hab ich mir noch die passenden C-Files besorgt (waren beide in einem Paket).
Die Headerdateien hab ich in den Ordner eingefügt:
C:\Programme\Microsoft Visual Studio 9.0\VC\include
Wohin müssen die *.c?
Ich habs mal in
C:\Programme\Microsoft Visual Studio 9.0\VC\crt\src
versucht, aber das hilft nichts.
Meine Headerdateien sind übrigens:
- lua.h
- lauxlib.h
- lualib.h
- luaconf.h
Fehlt mir etwas? Woran könnte der Fehler liegen? Hat jemand von euch schonmal auf diese Weise Lua verwendet?
Bin für jede Hilfe dankbar.