CLion компилирует перенасыщенный Linux - PullRequest
0 голосов
/ 14 мая 2018

Я пытаюсь скомпилировать проект C ++ на Linux, который использует freeglut. Я не могу собрать проект, потому что библиотеки не связаны правильно в файлах CMake. Я исследовал и попытался применить то, что упоминалось в аналогичном ответе здесь: Как скомпилировать проект GLUT + OpenGL с CMake и Kdevelop в Linux?

Однако процесс сборки все равно не выполняется со следующим исключением:

/opt/JetBrains/apps/CLion/ch-0/181.4668.70/bin/cmake/bin/cmake --build /home/user/Documents/Projects/GdvProject/cmake-build-debug --target testas -- -j 2
CMake Error at CMakeLists.txt:9 (target_link_libraries):
  Cannot specify link libraries for target "GdvProject" which is not built by
  this project.


-- Configuring incomplete, errors occurred!
See also "/home/user/Documents/Projects/GdvProject/cmake-build-debug/CMakeFiles/CMakeOutput.log".
make: *** [Makefile:176: cmake_check_build_system] Error 1

Мой файл CMakeLists выглядит так:

cmake_minimum_required(VERSION 2.8)

project(GdvProject)
add_executable(testas main.cpp)
find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED)
include_directories( ${OPENGL_INCLUDE_DIRS}  ${GLUT_INCLUDE_DIRS} )

target_link_libraries(GdvProject ${OPENGL_LIBRARIES} ${GLUT_LIBRARY})

Как я могу исправить эту проблему?

1 Ответ

0 голосов
/ 14 мая 2018

target_link_libraries хочет имя цели. Цели указаны (среди прочих) add_executable, add_library и add_custom_target.

Другими словами, target_link_libraries(testas ...) должно работать. Пока вы занимаетесь этим, вам следует подумать о переключении вашего include_directories(...) на target_include_directories(testas ...).

...