您好,我最近可以在Centos 7上安装Lua 5.3到/opt/lua53我还在/etc/bashrc 中添加了以下行
PATH=/opt/lua35/bin:$PATH
LD_LIBRARY_PATH=/opt/lua53/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH
export LUA_INCLUDE_DIR=/opt/lua53/include
我的同事还安装了一个软件,当我通过进行编译时
make
我得到以下错误
[root@pc6jixie]#制作--发布内部版本--找不到Lua(缺少:Lua_INCLUDE_DIR)(必需版本至少为"5.2")--找不到ZEROMQPP(缺少:ZEROMQPP_LIBRARIES ZEROMQPPA_INCLUDE_DIRS)--找不到OPENVDB(缺少:OPENVDB_LIBRARIES OPENVDB_INCLUDE_DIRS)--下载/更新kdtree--配置完成--生成完成的
我查看了服务器线程,但没有一个能帮助我。
正如我所写的,我添加了以下行
export LUA_INCLUDE_DIR=/opt/lua53/include
希望它能提供到LUA_INCLUDE_DIR的路径,但不幸的是,我仍然收到同样的错误。
知道我该怎么解决我的问题吗?你需要我的系统的更多信息吗?
注意:我正在使用cmake 3.10
PATH=/opt/lua35/bin:$PATH
看起来不对:它应该是/opt/lua53/bin
。
你正在重新发明轮子,并使其成为方形。。。
如果你已经安装了Lua开发(包或源代码),那么应该有一个名为lua.pc
的包配置文件,放在cmake
或configure
可以找到它的位置,并询问它任何需要Lua包含/lib的应用程序的lib和cflag应该是什么。对于我的系统来说,这些文件通常位于/usr/lib64/pkgconfig/
,实际上lua.pc
也包含以下内容:
V= 5.3
R= 5.3.4
prefix= /usr
exec_prefix=${prefix}
libdir= /usr/lib64
includedir=${prefix}/include
Name: Lua
Description: An Extensible Extension Language
Version: ${R}
Requires:
Libs: -llua -lm -ldl
Cflags: -I${includedir}
上面的文件告诉configure
include目录在哪里,更重要的是,在编译过程中要使用什么标志(-I…-L…-L…)
如果你在一个带有包管理器的系统上(比如yum
、dnf
、apt-get
等),那么如果这些pc文件存在于包中,就会自动将它们放在它们的位置。
如果您坚持按照上面的方法,将LUA_INCLUDE_DIR
手动编码到shell的环境中,那么请确保LUA_INCLUDE_DIR
指向具有有效内容的现有有效位置。您确定所需的包含文件可以在该目录中找到吗?也许里面有一个额外的目录?