site (하단)의 예제 코드를 컴파일하려고합니다. GLFW 3.0.4 소스 코드를 다운로드하여 사용자 정의 위치에 빌드했습니다. 기본 설정을 사용하고 GLFW는 정적 라이브러리로 작성되었습니다. 내 CMakeLists.txt은 다음과 같습니다GLFW - UBuntu에서 링커 오류 14.04 LTS
cmake_minimum_required(VERSION 2.8)
project(glfw_test_project)
SET(CMAKE_CXX_FLAGS "-Wall -Werror -g -std=c++11")
find_package(OpenGL REQUIRED)
include_directories(/home/user/MyLibs/OpenGL/glfw-3.0.4/include)
link_directories(/home/user/MyLibs/OpenGL/glfw-3.0.4/build/src)
add_executable(glfw_test main.cpp)
target_link_libraries(glfw_test ${OPENGL_gl_LIBRARY})
target_link_libraries(glfw_test glfw3)
내가 을 실행 내가 정보를 원하시면 다음 얻을합니다
Linking CXX executable glfw_test
/usr/bin/ld: /home/user/MyLibs/OpenGL/glfw-3.0.4/build/src/libglfw3.a(x11_clipboard.c.o): undefined reference to symbol 'XConvertSelection'
//usr/lib/x86_64-linux-gnu/libX11.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [glfw_test] Error 1
make[1]: *** [CMakeFiles/glfw_test.dir/all] Error 2
make: *** [all] Error 2
잘못 무엇입니까?
편집 1 동적 라이브러리로 GLFW를 빌드하면 정상적으로 작동합니다. 그럼 내 CMakeLists.txt의 마지막 라인으로 대체되어야한다 : 정적 라이브러리를 사용할 때 잘못된 무엇
target_link_libraries(glfw_test glfw)
?
가능한 중복 NetBeans] (http://stackoverflow.com/questions/23171894/cant-compile-easy-source-in-c-and-opengl-glfw-in-linux-in-netbeans) – Mehrdad
해결책을 찾지 못했습니다. 내 문제에. – Irbis
'-lX11'을 시도 했습니까? – Mehrdad