C++에서 루아를 사용하려고하는데 코드를 컴파일 할 수 없습니다. 현재 루아의 최신 버전 5.3을 사용하고 있습니다. 내 IDE는 Code :: Blocks입니다. 지금까지 나는이 같은 가이드를 다음했다 : https://eliasdaler.wordpress.com/2013/10/11/lua_cpp_binder/ http://gamedevgeek.com/tutorials/getting-started-with-lua/C++에서 Lua 사용
을들은 C에서 루아를 설정하는 방법 :: B를 대해 많이 설명하지 않는다 그러나. 루아의 웹 사이트에서 이진 zip과 소스를 모두 다운로드했습니다. src 폴더에서 파일을 어디에 넣어야할지 모르겠습니다. 지금까지 나는 lauxlib.h의 lua.h의 luaconf.h 및 include 디렉토리에 lualib.h을 넣어했습니다, 그리고 MAIN.CPP에 다음 코드를 사용 : 지금까지
extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
을 다음 작은 스 니펫을 실행하려고합니다.
lua_State* L;
L = luaL_newstate();
luaL_openlibs(L);
luaL_dofile(L, "test.lua");
lua_close(L);
그러나 첫 번째 줄에는 항상 오류가 발생합니다. 내가 지금 받고있는 오류는 참조가 'luaL_newstate'로 정의되지 않았 음을 나타낸다.
어쩌면 내가 소스에서 lib 디렉토리에 몇 가지 파일을 넣어야합니까? 아니면 '프로젝트 빌드 옵션'메뉴의 '기타 링커 옵션'에 추가해야 할 것이 있습니까?
편집 : 나는이 질문을 발견했습니다 그 동안
: Lua 5.3 undefined references
내가 'Opther 링커 옵션'에 -llua을 넣어야 할 것 같다,하지만 더있다 .a, .so 또는 .lib 파일은 lua.org의 패키지에 포함되어 있습니다.
나는 C :: B에서 그렇게하는 법을 모르지만, 당신은 lua 라이브러리를 링크해야만한다. 또는 프로젝트에 소스 파일을 포함시킬 수도 있지만 "올바른"방법은 아닙니다. 다른 라이브러리와 마찬가지로 라이브러리를 링크하면됩니다. – pschulz
@pschulz 루아는 단지 소스 파일을 추가 할 수 있도록 설계되었다고 생각했습니다. – immibis
@pschulz 라이브러리 연결 방법에 대한 일반적인 설명이 있습니까?이 글을 검색 할 때마다 포럼에 대한 모호한 설명을 얻지 만, 단계별 자습서로 잘 작성된 단계는 없습니다. 그 언어를 배웠을 때 나는 아주 사소한 것을 놓쳤다는 느낌을 정말로줍니다. 이전에 SDL을 설치했을 때 Lazyfoo가 모든 것을 자세히 설명했기 때문에 운이 좋았습니다. 이 시점에서 나는 모든 .h 파일을 포함 라이브러리에 있고 모든 .c 파일은 .cpp 파일 옆에 있지만 여전히 동일한 오류가 발생합니다. – Letokteren