CLion 中的 allegro5 项目,ld:找不到库错误
allegro5 project in CLion, ld: library not found error
我正在为大学制作一个 C++ 和 allegro5 项目。我编译了 allegro 库,它在 Xcode 中运行良好。但是我想在 CLion 中做我的项目,一旦尝试构建包含 allegro 的项目,它就会抛出一个错误:
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。我找不到解决我的问题的方法。我知道 allegro 和 CLion 不是那么受欢迎。谁能帮我看看这个错误是什么意思?
您应该在 link_directories
add_executable
.
之前发出
来自关于 link_directories 的文档:
The command will apply only to targets created after it is called.
我正在为大学制作一个 C++ 和 allegro5 项目。我编译了 allegro 库,它在 Xcode 中运行良好。但是我想在 CLion 中做我的项目,一旦尝试构建包含 allegro 的项目,它就会抛出一个错误:
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。我找不到解决我的问题的方法。我知道 allegro 和 CLion 不是那么受欢迎。谁能帮我看看这个错误是什么意思?
您应该在 link_directories
add_executable
.
来自关于 link_directories 的文档:
The command will apply only to targets created after it is called.