Не удалось найти заголовки Lua с пакетом find в cmake
Я пытаюсь использовать CMake для создания файла make для моего проекта, который использует Lua. Когда я запускаю 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 ничего не печатает), поэтому я подозреваю, что он просто не может его найти. Нужно ли указывать, куда искать Луа? У меня создалось впечатление, что весь смысл find_package был в том, что он будет выглядеть в наборе предопределенных мест, так что мне не нужно указывать, где он конкретно.
(это на машине Ubuntu, и у меня установлены пакеты Lua.)
3 ответов
знакомства FindLua51.cmake
из cmake 2.8 я обнаружил, что он устанавливает 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})