如何在Clion和CMake中添加Allegro库?

5

我正在尝试使用Clion IDE编译我的游戏项目,但在移植allegro 5时遇到了问题。我遇到了以下错误:

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})

我想问如何在Clion中添加外部库allegro?

你的文件allegro/allegro.h位于哪里?我猜它不在/usr/local/include目录下。你是否安装了任何关于allegro的软件包?有没有叫做findallegro.cmakeallegroConfig.cmake或者allegro-config.cmake的文件? - rocambille
由于库文件在/usr/local/Cellar/allegro/下搜索,头文件也在那里。因此,您必须使用适当的路径发出include_directories命令。 - Tsyvarev
嗨@Tsyvarev,我使用Homebrew安装了 Allegro 链接,它说“Allegro应该安装在/usr/local/lib和/usr/local/include中。” - NinjaDeveloper
如果是这样,为什么要使用/usr/local/Cellar/allegro/下的库进行链接呢? - Tsyvarev
1个回答

13

在使用Homebrew安装 Allegro 时,请参考此链接

使用这个 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})

1
对我来说可以工作,我只是将CMake更换为新版本。 - Cletrix

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接