链接错误与Lua有关?

我正在尝试使用Lua(在Linux上)构建一个简单的C++测试应用程序。构建指令如下:

g++ -o"LuaTest" ./src/LuaTest.o -l/home/diego/lua-5.1.4/src/liblua.a

然后它会输出以下错误信息:

/usr/bin/ld: cannot find -l/home/diego/lua-5.1.4/src/liblua.a

这本来很好,只是因为我现在就在那个文件夹里面看着liblua.a的存在。我在Windows下使用MinGW和Lua的Windows二进制文件尝试了类似的配置,结果非常出乎意料地得到了相同的结果,只是它会抱怨lua51.lib或lua5.1.lib或我尝试的任何文件。

我错过了什么吗?

如果这很重要,这就是应用程序:

extern "C"
{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}

int main()
{
    return 0; //这真的应该编译-_-!
}

原文链接 https://stackoverflow.com/questions/5492932

点赞
stackoverflow用户189205
stackoverflow用户189205

不要加-l。只需要:

g++ -o"LuaTest" ./src/LuaTest.o /home/diego/lua-5.1.4/src/liblua.a

-l开关告诉g++自动添加文件名的lib.a部分,并在标准库目录中查找它——你在这里不需要。

2011-03-30 22:04:15