在cmake中找不到带有find_package的Lua标头

0tdrvxhp  于 2023-01-26  发布在  其他
关注(0)|答案(3)|浏览(163)

我尝试使用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显示为空(试图运行它,但message命令没有打印任何内容),所以我怀疑它只是找不到它。我需要指定在哪里查找Lua吗?我的印象是find_package的全部意义在于它会在一组预定义的位置中查找,因此我不需要具体指定它在哪里。
(This是在Ubuntu机器上,而且我确实安装了Lua包。)

wfveoks0

wfveoks01#

安装lua bin:

sudo apt-get install lua5.1

安装lua库:

sudo apt-get install lua5.1-dev
kupeojn6

kupeojn62#

在cmake 2.8中探索FindLua51.cmake时,我发现它设置的是LUA_INCLUDE_DIR变量,而不是Lua51_INCLUDE_DIRS

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

e5nszbig3#

适用于Ubuntu 14.04

sudo apt install lua5.2;
sudo apt install liblua5.2-dev;

相关问题