我有一个简单的测试应用程序,我正在尝试使用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; //this really should compile -_-
}
答案 0 :(得分:6)
忽略-l
。它应该只是:
g++ -o"LuaTest" ./src/LuaTest.o /home/diego/lua-5.1.4/src/liblua.a
-l
开关告诉g ++自动添加文件名的lib
和.a
部分,并在标准库目录中查找 - 这里不需要