2011-08-26 17 views
8

Sto cercando di utilizzare CMake per generare generare il file make per un mio progetto che utilizza Lua. Quando eseguo make ottengo questo errore:Impossibile trovare intestazioni Lua con find_package in cmake

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

Nel file CMakeLists.txt, ho le seguenti linee, che ho pensato che sarebbe farlo, ma a quanto pare non sei abbastanza:

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

Lua51_Include_Dirs sembra essere vuoto (tentare di eseguirlo anche se il comando del messaggio non stampa nulla) quindi sospetto che non possa trovarlo. Devo specificare dove cercare Lua? Avevo l'impressione che l'intero punto di find_package fosse che avrebbe guardato in un set un posto predefinito in modo che non avessi bisogno di specificare dove fosse specificamente.

(Questo inizia una macchina Ubuntu e hanno i pacchetti Lua installati.)

+1

stai facendo '#include "lua .h "' o '#include '? –

+0

Sto usando '#include" lua.h "'. Ho anche provato "#include" lua/lua.h "' anche se non è quello che dovrei fare. Nessuno dei due ha funzionato. Non ho provato con '<>', ma se questo fa la differenza sarei estremamente sorpreso. – Alex

+0

@Alex Utilizzando '#include" lua5.1/lua.h "' ha funzionato per me dopo aver installato 'lua5.1-dev'. –

risposta

5

Exploring FindLua51.cmake da cmake 2,8 ho trovato che imposta LUA_INCLUDE_DIR variabile anziché Lua51_INCLUDE_DIRS. Quindi, il codice dovrebbe essere CMake

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

Grazie, ci proverò. Dove si trova il file 'FindLua51.cmake'? A un certo punto avevo provato a cercarlo, ma non riuscivo a trovarlo in una ricerca superficiale. Modifica: successo! Grazie. – Alex

+3

Su Linux sarà qualcosa come '/ usr/share/cmake-2.8/Modules/FindLua51.cmake' –

15

installare lua bin:

sudo apt-get install lua5.1 

installare lua lib:

sudo apt-get install lua5.1-dev 
0

per Ubuntu 14,04 sudo apt-get install lua5.2 sudo apt-get install liblua5.2-dev

Problemi correlati