使用Lua与C++

我尝试在C程序中嵌入lua,但编译代码时遇到了问题。我已经在Synaptic中安装了所有与lua 5.2相关的内容,当我尝试编译以下代码时:

extern "C"{
#include <stdio.h>
#include <string.h>
#include "lua5.2/lua.h"
#include "lua5.2/lauxlib.h"
#include "lua5.2/lualib.h"
}

int main(int argc, char* argv[])
{
    lua_State *lua_state;
    lua_state = luaL_newstate();
    lua_close(lua_state);
}

并使用以下命令进行编译:

g++ main.cpp -llua

出现以下错误:

Could not find -llua

怎么办?

点赞
用户451600
用户451600

有一些工具可以用来找到库的合适的编译器/链接器开关。

特别是,如果你好好安装了lua5.2库,你可以使用下面的命令:

pkg-config -libs lua5.2

在我的系统上它会输出:

-llua5.2

使用这个,或者使用 pkg-config 的输出(用 ` 包裹)作为连接器参数。

当然,pkg-config 也可以通过下面的命令告诉你关于该软件包的 -CFLAGS:

pkg-config --cflags lua5.2

man 手册非常易懂。

2014-08-17 16:02:04