无法使用cmake中的find_package找到Lua头文件。

我正在尝试使用 CMake 生成我的一个使用 Lua 的项目的 make 文件。当我运行 make 时,我会得到这个错误:

/path/to/my/project/luaudio/luaudio.c:1:17: fatal error: lua.h: No such file or directory

在 CMakeLists.txt 文件中,我有以下行,我认为这足够了,但显然它们不够:

find_package(Lua51 REQUIRED)
set(Luaudio_INCLUDE_DIRS ${Luaudio_SOURCE_DIR} ${Lua51_INCLUDE_DIRS} PARENT_SCOPE)
include_directories(${Luaudio_INCLUDE_DIRS})

Lua51_Include_Dirs 似乎是空的(尝试通过消息命令运行它并没有打印任何东西),所以我怀疑它无法找到它。我需要指定搜索 Lua 的位置吗?我的印象是 find_package 的整个意义在于它将在预定义的设置中查找,以便我不需要特别指定它在哪里。

(这是在 Ubuntu 机器上,我已经安装了 Lua 包。)

原文链接 https://stackoverflow.com/questions/7210154

点赞
stackoverflow用户724461
stackoverflow用户724461

在研究来自非常规2.8版的cmake的 FindLua51.cmake 时,我发现它设置了 LUA_INCLUDE_DIR 变量而不是 Lua51_INCLUDE_DIRS 。所以,cmake代码应该是这样的:

find_package(Lua51 REQUIRED)
set(Luaudio_INCLUDE_DIRS ${Luaudio_SOURCE_DIR} ${LUA_INCLUDE_DIR} PARENT_SCOPE)
include_directories(${Luaudio_INCLUDE_DIRS})
                        2011-08-26 21:05:05
                        stackoverflow用户1048072
                    

安装 lua bin:

sudo apt-get install lua5.1

安装 lua lib:

sudo apt-get install lua5.1-dev
                        2013-05-26 15:09:53
                        stackoverflow用户974526
                    

在Ubuntu 14.04上执行以下命令:

sudo apt install lua5.2;
sudo apt install liblua5.2-dev;
                        2017-02-08 04:51:33
                评论区的留言会收到邮件通知哦~
            

作者:

stackoverflow用户63791