2015-10-25 101 views
0

我正在为大学制作C++和allegro5项目。我编译allegro库,它在Xcode中运行良好。但我想做的克利翁我的项目,只要努力打造的项目,包括快板它抛出一个错误:CLION的allegro5项目,ld:找不到库的错误

ld: library not found for -lallegro_acodec 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
make[2]: *** [TEST1] Error 1 
make[1]: *** [CMakeFiles/TEST1.dir/all] Error 2 
make: *** [all] Error 2 

的CMakeLists.txt:

cmake_minimum_required(VERSION 3.3) 
project(TEST1) 

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

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

INCLUDE_DIRECTORIES(/usr/local/Cellar/allegro/5.0.11/include) 

LINK_DIRECTORIES(/usr/local/Cellar/allegro/5.0.11/lib) 

TARGET_LINK_LIBRARIES(TEST1 
     allegro_acodec 
     allegro_audio 
     allegro_color 
     allegro_dialog 
     allegro_image 
     allegro_main 
     allegro_memfile 
     allegro_physfs 
     allegro_primitives 
     allegro_ttf 
     allegro_font 
     allegro) 

main.cpp中:

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

using namespace std; 

int main(int argc, char **argv) { 

    al_init(); 

    return 0; 
} 

我正在使用OSX 10.11。我找不到解决方案。我知道,快板和CLION并不那么受欢迎。任何人都可以帮我解决那个错误的含义吗

+0

是什么在你'在/ usr /本地/库/快板/ 5.0.11/lib'文件夹? '.dylib's或'.a's? – WhiteViking

+0

有'.dylib's。 –

回答

2

您应该在add_executable之前发出link_directories

从文档中关于link_directories

The command will apply only to targets created after it is called.