2011-08-26 29 views
8

Tôi đang cố gắng sử dụng CMake để tạo tệp tạo tệp cho một dự án của tôi sử dụng Lua. Khi tôi chạy làm cho tôi nhận được lỗi này:Không thể tìm thấy tiêu đề Lua với find_package trong cmake

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

Trong tập tin CMakeLists.txt, tôi có những dòng sau, mà tôi nghĩ sẽ làm điều đó, nhưng dường như họ không đủ:

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

Lua51_Include_Dirs dường như trống (cố gắng chạy nó mặc dù lệnh tin nhắn không in bất cứ điều gì) vì vậy tôi nghi ngờ rằng nó chỉ không thể tìm thấy nó. Tôi có cần phải xác định nơi để tìm Lua? Tôi đã ấn tượng rằng toàn bộ điểm của find_package là nó sẽ nhìn vào một tập hợp một vị trí được xác định trước để tôi không cần phải xác định nơi nó là cụ thể.

(Đây là trên một máy tính Ubuntu và tôi có các gói Lua cài đặt.)

+1

Bạn đang làm '#include "lua .h "' hoặc '#include '? –

+0

Tôi đang sử dụng '#include" lua.h "'. Tôi cũng đã thử '#include 'lua/lua.h'' mặc dù đó không phải là những gì tôi cần phải làm. Không làm việc. Tôi đã không thử với '<>', nhưng nếu điều đó tạo nên sự khác biệt, tôi sẽ vô cùng ngạc nhiên. – Alex

+0

@Alex Sử dụng '#include" lua5.1/lua.h "' làm việc cho tôi sau khi cài đặt 'lua5.1-dev'. –

Trả lời

5

Khám phá FindLua51.cmake từ cmake 2.8 tôi thấy rằng nó đặt LUA_INCLUDE_DIR biến thay vì Lua51_INCLUDE_DIRS. Vì vậy, mã cmake nên

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

Cảm ơn, tôi sẽ thử điều đó. Tập tin 'FindLua51.cmake' nằm ở đâu? Tôi đã thử một lúc để tìm kiếm nó, nhưng không thể tìm thấy nó trong một tìm kiếm nguyền rủa. Chỉnh sửa: Thành công! Cảm ơn bạn. – Alex

+3

Trên linux, nó sẽ giống như '/ usr/share/cmake-2.8/Modules/FindLua51.cmake' –

15

cài đặt lua bin:

sudo apt-get install lua5.1 

cài đặt lua lib:

sudo apt-get install lua5.1-dev 
0

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

Các vấn đề liên quan