Я пытаюсь научиться внедрять lua в программу на C, но я не умею читать технические документы, и я не нашел никаких текущих учебников. Это моя программа:Lua 5.3 undefined ссылки
#include <iostream>
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
void report_errors(lua_State*, int);
int main(int argc, char** argv) {
for (int n = 1; n < argc; ++n) {
const char* file = argv[n];
lua_State *L = luaL_newstate();
luaL_openlibs(L);
std::cerr << "-- Loading File: " << file << std::endl;
int s = luaL_loadfile(L, file);
if (s == 0) {
s = lua_pcall(L, 0, LUA_MULTRET, 0);
}
report_errors(L, s);
lua_close(L);
std::cerr << std::endl;
}
return 0;
}
void report_errors(lua_State *L, int status) {
if (status) {
std::cerr << "-- " << lua_tostring(L, -1) << std::endl;
lua_pop(L, 1);
}
}
Компилятор дает неопределенные эталонные ошибки для luaL_newstate, luaL_openlibs, luaL_loadfilex, lua_pcallk и lua_close. Я использую Code :: Blocks один для компьютера Windows, и я добавил каталог включения lua ко всем путям поиска и liblua53.a в библиотеки ссылок. IDE autocompleted имена заголовков, и синтаксический анализатор отображает большинство функций lua, но с кратким поиском я обнаружил, что синтаксический анализатор не смог найти ни lua_newstate, ни luaL_newstate. Почему он находит некоторые функции, а не другие?
Это C++ не c, вы можете получить дополнительную помощь, если вы переключите тег. – 2trill2spill
Используйте 'extern 'C" '([link] (https://csl.name/post/lua-and-cpp/)) –
_« Я не очень хорошо читаю технические документы »_ Можете ли вы рассказать об этом? Это умение, которое вы будете учиться, а не просто сдаваться. –