链接器找不到 Lua 库定义
Linker can't find Lua library definition
所以,我对C++相对较新,我一直在尝试在我的C++项目中运行Lua文件。首先,我运行了以下简单代码:
#include <iostream>
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
#include <stdlib.h>
#include <stdio.h>
int main() {
std::cout << "Lua Console";
lua_State *L;
L = luaL_newstate();
char ch;
std::cin >> ch;
return 0;
}
终端命令如下所示:
g++ main.cpp -L lib/liblua.a
编辑:更正为此
g++ main.cpp -Llib -llua
Lua 库安装在我的系统(Linux(上,但链接器找不到 luaL_newstate(( 的定义,尽管我在命令行中包含该库:
main.cpp:(.text+0x2b): undefined reference to `luaL_newstate()'
任何Lua函数都会发生这种情况。我真的不知道出了什么问题,到目前为止,在 Linux 中导入库非常简单。这似乎是我不熟悉在我的项目中使用库的问题,但我找不到非常有用的文档。提前谢谢你。
-L
选项指定保存库文件的文件夹;请尝试g++ main.cpp -Llib -llua
还将 Lua 标头的#include
包装成extern "C"
:
extern "C" {
#include <lualib.h>
#include <lauxlib.h>
#include <lua.h>
}
相关文章:
- 如何使用重新定义的打印函数打印Lua表?
- 当使用Lua作为嵌入式语言(比如c++)时,有什么简单/方便的方法可以找到变量在Lua中的定义位置吗
- 是否可以使用另一个lua文件中定义的表,该表在当前文件中不需要作为模块
- C++-在没有自定义.lib文件的情况下从Lua C模块调用Lua函数
- Lua C API 自定义打印函数,在字符串中传递空格时不调用
- 链接器找不到 Lua 库定义
- C++调用lua_dostring来加载具有"require('cjson')"的Lua Scrip引发错误:cjson.so:未定义的符号:lua_getfield
- 使用Lua定义C++游戏中对象的变量
- LUA 5.3未定义的参考
- Lua:为自定义用户数据提供一个字符串方法
- 在lua中重新定义打印函数时出现问题
- Lua 5.2:使用 luaL_dofile() 时未定义的符号
- 如何从C++中过滤掉Lua中用户定义的全局变量
- Linux,C++,Lua 5.3,CMake,未定义引用
- C++嵌入对"luaL_newstate"的lua 5.2未定义引用(ubuntu 14.04,Netbeans)
- 读取C++#定义为Lua状态
- lua/c++中用户定义的CUDA内核
- 在Lua中跟踪变量以进行读访问,以启动用户定义的c++方法/函数
- 使用自定义数据作为函数参数调用lua回调
- 如何将自定义模块加载到Lua中