5
는 아주 기본적인 질문은 내가 추측 :luabind : 인쇄와 같은 기본 루아 함수를 호출 할 수 없습니다, tostring
는 C++ 코드는 루아를 호출하면 다음과 같다:
lua_State* m_L;
m_L = lua_open();
luabind::open(m_L);
luaL_dofile(m_L, "test.lua");
try {
luabind::call_function<void>(m_L, "main");
} catch (luabind::error& e) {
std::string error = lua_tostring(e.state(), -1);
std::cout << error << std::endl;
}
lua_close(m_L);
지금 test.lua가있다 다음 내용 :
test.lua:2: attempt to call global 'print' (a nil value)
,536 : 실행시
function main()
print "1"
end
나는 오류가 나타납니다
무엇이 문제입니까? 그것은 환경과 관련이 있습니까? 나는 인쇄와 같은 기능이 지구 환경에 정의되어 있다고 생각했다. 그런데 왜 발견되지 않습니까?
대단히 감사합니다.
확인이 내가 그것을 알아 냈 : luaopen_base를 (m_L); lua_open() –
이후에 호출해야 할 필요가 있습니다. luaopen_string (m_L), luaopen_math (m_L) 등을 호출하여 적절한 루아 라이브러리를 빌드해야합니다. –
@ chris.schuette : 자신 만의 질문에 답하고 그 대답을 받아 들여야합니다 (따라서 끝나는 것으로 표시됨). 질문을 삭제하십시오. –