2016-10-27 6 views
1

Я пытаюсь скомпилировать свой игровой проект с использованием Clion IDE, но у меня есть проблема при переносе аллегро 5. Я получаю эту ошибку:Как добавить библиотеку allegro в Clion и CMake?

main.cpp:2:10: fatal error: 'allegro/allegro.h' file not found 
    #include <allegro/allegro.h> 

Моего CMakeLists является:

cmake_minimum_required(VERSION 3.5) 
project(testAllegro) 

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 

set(SOURCE_FILES main.cpp) 
add_executable(testAllegro ${SOURCE_FILES}) 

INCLUDE_DIRECTORIES( /usr/local/include) 
LINK_DIRECTORIES( /usr/local/lib) 

file(GLOB LIBRARIES "/usr/local/Cellar/allegro/5.2.1.1_1/lib/*.dylib") 
message("LIBRARIES = ${LIBRARIES}") 

TARGET_LINK_LIBRARIES(testAllegro ${LIBRARIES}) 

Просто я хочу спросите, как я могу добавить внешнюю библиотеку allegro в Clion?

+0

Где находится файл 'аллегро/allegro.h'? Я думаю, что это не в '/ usr/local/include'. У вас есть пакет для аллегро? Файл под названием 'findallegro.cmake',' allegroConfig.cmake' или 'allegro-config.cmake'? – wasthishelpful

+0

Поскольку библиотеки выполняются в '/ usr/local/Cellar/allegro /', там также находятся файлы заголовков. Таким образом, вы должны ввести команду 'include_directories' с соответствующим путем. – Tsyvarev

+0

Привет @ Цыварев Я использовал homebrew для установки allegro [link] (https://wiki.allegro.cc/index.php?title=Installing_with_homebrew), и это говорит: «Allegro должен быть установлен в/usr/local/lib и/USR/местные/включить «. – NinjaDeveloper

ответ

4

когда вы устанавливаете аллегро с помощью доморощенных link

использовать данную CMake для компиляции clion проекту

cmake_minimum_required(VERSION 3.5) 
project(testAllegro) 

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 

set(SOURCE_FILES main.cpp) 
add_executable(testAllegro ${SOURCE_FILES}) 

INCLUDE_DIRECTORIES( /usr/local/Cellar/allegro/5.2.1.1_1/include) 
LINK_DIRECTORIES( /usr/local/Cellar/allegro/5.2.1.1_1/lib) 

file(GLOB LIBRARIES "/usr/local/Cellar/allegro/5.2.1.1_1/lib/*.dylib") 
message("LIBRARIES = ${LIBRARIES}") 

TARGET_LINK_LIBRARIES(testAllegro ${LIBRARIES}) 
+0

это работает для меня, я просто перехожу к более новой версии cmake. – Cletrix

 Смежные вопросы

  • Нет связанных вопросов^_^