компоновщик не может найти библиотеку lua

#lua #linker #g

#lua #компоновщик #g

Вопрос:

Я побежал g -g ./src/*.cpp -L/usr/lib/ -llua5.3

и получил сообщение об ошибке.

 /usr/bin/ld: cannot find -llua5.3
collect2: error: ld returned 1 exit status
 

Как я могу заставить компоновщика найти библиотеку lua?
Я установил lua с помощью этих команд

 wget -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gz
tar zxf lua-5.3.0.tar.gz
cd lua-5.4.2
make linux 
make install
 

Комментарии:

1. Вы уверены, что статическая библиотека была установлена в /usr/lib/ , а не в /usr/local/lib/ ?

2. Вы создаете lua-5.4.2, а не lua-5.3.0. Кроме того, библиотека будет называться liblua.a и поэтому используйте -llua .

3. Я перешел -llua5.3 на -llua и получил /usr/bin/ld: /usr/local/lib/liblua.a(loadlib.o): undefined reference to symbol 'dlclose@@GLIBC_2.2.5' /usr/bin/ld: /lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status

Ответ №1:

Я установил apt install liblua5.3-dev вместо wget -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gz того, чтобы заставить его работать