ld: library not found for -lOpenGL::OpenGL
1 min readNov 19, 2020
Problem happens when running OpenGL on macOS, with a Makefile configuration for Debian GNU/Linux.
Replicating the error
CMakeList.txt
cmake_minimum_required(VERSION 2.8)
project(MY_PROJECT)find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED)set(SRCS
src/main.cpp
)add_executable(MY_PROJECT
${SRCS})target_link_libraries(MY_PROJECT
OpenGL::OpenGL
OpenGL::GLU
${GLUT_LIBRARIES})
Compiling
[ 16%] Linking CXX executable MY_PROJECT
ld: library not found for -lOpenGL::OpenGL
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [MY_PROJECT] Error 1
make[1]: *** [CMakeFiles/MY_PROJECT.dir/all] Error 2
make: *** [all] Error 2
Solution
Changing the target link from OpenGL::OpenGL
to OpenGL::GL
, that is to say:
target_link_libraries(MY_PROJECT
OpenGL::GL
OpenGL::GLU
${GLUT_LIBRARIES})
grateful to Abdallah.