哪个软件包为 g++ 提供了 -llua?

哪个软件包为 g++ 提供了 -llua?

我已经安装了 Synaptic 的所有 lua5.1 开发包,但 g++ 链接器找不到-llua。我在其他问题上读到过, 可能有-llua其他名称,我应该修复它。但问题是我似乎找不到lua.o或它叫什么。

答案1

gcc … -llualiblua.so如果您正在动态链接(默认)或者liblua.a正在静态链接,则查找名为的文件。

您可以使用以下方式查找包含特定名称文件的包apt 文件 安装 apt-file。您也可以在线搜索packages.ubuntu.com(“搜索包的内容”,请务必选择您的发行版和体系结构)。但是……

$ apt-file search liblua.so
$

情况是这样的,Ubuntu 附带了多个版本的 Lua 库,但它们不是二进制兼容的,即您需要在构建时选择所需的版本。

$ apt-file --regexp search '/liblua.*\.so$'
<lots of hits>

从 natty 开始,Lua 的首选版本是5.1, 和5.04.0也可用。用于链接的相应 lua 库是liblua5.1.soliblua50.so和(您可以使用或liblua40.so列出包中的文件)。因此,您需要将链接命令更改为(或或如果您需要与旧系统兼容的二进制文件)。dpkg -L liblua5.1-0-devapt-file list liblua5.1-0-dev-llua5.1-llua50-llua40

相关内容