我已经安装了 Synaptic 的所有 lua5.1 开发包,但 g++ 链接器找不到-llua
。我在其他问题上读到过, 可能有-llua
其他名称,我应该修复它。但问题是我似乎找不到lua.o
或它叫什么。
答案1
gcc … -llua
liblua.so
如果您正在动态链接(默认)或者liblua.a
正在静态链接,则查找名为的文件。
您可以使用以下方式查找包含特定名称文件的包apt 文件 。您也可以在线搜索packages.ubuntu.com(“搜索包的内容”,请务必选择您的发行版和体系结构)。但是……
$ apt-file search liblua.so
$
情况是这样的,Ubuntu 附带了多个版本的 Lua 库,但它们不是二进制兼容的,即您需要在构建时选择所需的版本。
$ apt-file --regexp search '/liblua.*\.so$'
<lots of hits>
从 natty 开始,Lua 的首选版本是5.1, 和5.0和4.0也可用。用于链接的相应 lua 库是liblua5.1.so
、liblua50.so
和(您可以使用或liblua40.so
列出包中的文件)。因此,您需要将链接命令更改为(或或如果您需要与旧系统兼容的二进制文件)。dpkg -L liblua5.1-0-dev
apt-file list liblua5.1-0-dev
-llua5.1
-llua50
-llua40