Использование Cmake для включения библиотеки allegro - PullRequest
0 голосов
/ 21 мая 2019

Я хочу работать с библиотекой Allegro в clion. Я использовал команды homebrew и "brew install allegro" для установки allegro. теперь, когда я включаю и запускаю простой код, подобный этому:

#include <stdio.h>
#include <allegro5/allegro.h>

int main() {
    printf("Hello World!\n");
    return 0;

}

Я получаю эту ошибку:

Undefined symbols for architecture x86_64:
  "_main", referenced from:
     implicit entry/start for main executable
     (maybe you meant: __Z16_al_mangled_mainv)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [testAllegro] Error 1
make[2]: *** [CMakeFiles/testAllegro.dir/all] Error 2
make[1]: *** [CMakeFiles/testAllegro.dir/rule] Error 2
make: *** [testAllegro] Error 2

Я использовал cmake в правильном ответе на этот вопрос , который:

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

и все еще получил ту же ошибку.

...