#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
того, чтобы заставить его работать