Ошибка связи с Lua? - PullRequest
       2

Ошибка связи с Lua?

2 голосов
/ 31 марта 2011

У меня есть простое тестовое приложение, которое я пытаюсь построить на C ++ с Lua (на Linux).Строка сборки выглядит следующим образом:

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 и бинарные файлы Windows для Lua, и шокирующе получаю тот же самый результат, только ноет о lua51.lib или lua5.1.lib или любом другом файле, который я пробую.

Что мне здесь не хватает?

Если это имеет значение, вот приложение:

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

int main()
{
    return 0; //this really should compile -_-
}

1 Ответ

6 голосов
/ 31 марта 2011

Не указывайте -l. Это должно быть просто:

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

Переключатель -l указывает g ++ автоматически добавлять части имени файла lib и .a и искать его в каталогах стандартной библиотеки - что вам здесь не нужно.

...