gpt4 book ai didi

linux - CMake链接glfw3 lib错误

转载 作者:行者123 更新时间:2023-12-03 09:56:20 34 4
gpt4 key购买 nike

我正在使用CLion,并且正在使用glfw3 lib编写程序。(http://www.glfw.org/docs/latest/)

我为lib安装并正确执行了所有操作,我在.a和.h文件中:

/usr/local/lib/libglfw3.a

/usr/local/include/.h(all files)

我正在尝试使用该库,但出现链接器错误:
undefined reference to 'glViewport'等。我正在使用的所有功能

我将lib路径添加到了make文件中,我无法理解我在做什么错,我的CMakeLists.txt看起来像这样:
cmake_minimum_required(VERSION 3.6)
project(testing)

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

set(SOURCE_FILES main.cpp examples.h)

add_executable(testing ${SOURCE_FILES})
target_link_libraries(testing /usr/local/lib/libglfw3.a)
target_link_libraries(testing /usr/local/lib/libTest.a)

target_link_libraries(testing pthread)

任何帮助将不胜感激。

谢谢!

最佳答案

您不应该将绝对路径硬编码到CMake文件中。这使CMake无效。

documentation of GLFW on how to link against it中,显式编写为:

find_package(glfw3 3.2 REQUIRED)
find_package(OpenGL REQUIRED)

target_include_directories(myapp PUBLIC ${OPENGL_INCLUDE_DIR})
target_link_libraries(myapp
glfw
${OPENGL_gl_LIBRARY})

而且,您可以更换
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")


set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

CMake会根据当前使用的编译器自动找出正确的编译器标志。

关于linux - CMake链接glfw3 lib错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39266657/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com