2011-08-26 14 views
8

Próbuję użyć CMake do kompilacji wygenerować plik make dla mojego projektu, który używa Lua. Kiedy uruchomić make otrzymuję ten błąd:Nie można znaleźć nagłówków Lua z find_package w cmake

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

W pliku CMakeLists.txt, mam następujące wiersze, co uważałem, że zrobi to, ale widocznie nie są one na tyle:

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

Lua51_Include_Dirs wydaje się być pusty (próba uruchomienia, chociaż polecenie message nie drukuje niczego), więc podejrzewam, że po prostu nie może go znaleźć. Czy muszę określić, gdzie szukać Lua? Miałem wrażenie, że cały punkt find_package polegał na tym, że wyglądałby w zestawie z predefiniowanymi miejscami, więc nie muszę określać, gdzie jest konkretnie.

(Jest to na maszynie Ubuntu i mam zainstalowane pakiety Lua.)

+1

Robisz '#include„lua .h "' lub '#include '? –

+0

Używam '#include" lua.h "'. Próbowałem też '#include" lua/lua.h "' chociaż nie jest to coś, co powinienem zrobić. Żaden nie zadziałał. Nie próbowałem z '<>', ale jeśli to robi różnicę, będę bardzo zaskoczony. – Alex

+0

@Alex Użycie '#include" lua5.1/lua.h "' działało dla mnie po zainstalowaniu 'lua5.1-dev'. –

Odpowiedz

5

Exploring FindLua51.cmake z cmake 2,8 Okazało się, że to ustawia LUA_INCLUDE_DIR zmienną zamiast Lua51_INCLUDE_DIRS. Kod CUpewnij tak powinno być

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

Dzięki, spróbuję tego. Gdzie znajduje się plik 'FindLua51.cmake'? W pewnym momencie próbowałem go sprawdzić, ale nie mogłem go znaleźć w pobieżnym wyszukiwaniu. Edycja: Sukces! Dziękuję Ci. – Alex

+3

Na Linuksie będzie to coś w stylu '/ usr/share/cmake-2.8/Modules/FindLua51.cmake' –

15

zainstalować pojemnik lua:

sudo apt-get install lua5.1 

zainstalować lua lib:

sudo apt-get install lua5.1-dev 
0

dla Ubuntu 14.04 sudo apt-get install lua5.2 sudo apt-get install liblua5.2-dev