Скажите, у меня есть файл lua:
--functions.lua
function testadd(a, b)
return a+b
end
Как бы я использовал luabind для загрузки этого файла и вызова этой функции - что-то вроде:
//test.cpp
extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
#include <luabind/luabind.hpp>
#include <luabind/function.hpp>
int main() {
lua_State *myLuaState = lua_open();
luaL_openlibs(myLuaState);
luaL_loadfile(myLuaState, "functions.lua");
luabind::open(myLuaState);
int value = luabind::call_function<int>(myLuaState, "testadd", 2, 3);
lua_close(myLuaState);
}
Но это возвращает ошибку:
прекращение вызова после создания экземпляра luabind :: error
what (): ошибка времени выполнения lua
Отменено
Итак, каков правильный синтаксис для выполнения того, что я хочу сделать?
(Судя по ошибкам, это похоже на проблему с синтаксисом в файле lua, но я не думаю, что это ...)