gpt4 book ai didi

c++ - 使用 cmake 对 `glfwInit' 问题 Clion OpenGL 的 undefined reference

转载 作者:行者123 更新时间:2023-11-30 05:21:00 37 4
gpt4 key购买 nike

我正在尝试让一个 OpenGl 项目在 CLion 上运行。我正在使用 3 个不同的库:GLEW、GLFW 和 SOIL。

includes 似乎工作正常,所有内容都已找到,但每次我尝试构建时都会出现错误:

undefined reference to `glfwInit'
undefined reference to `glfwWindowHint'
undefined reference to `glfwWindowHint'
undefined reference to `glfwWindowHint'
undefined reference to `glfwWindowHint'
undefined reference to `glfwCreateWindow'
...

C:/Users/John/OneDrive/OpenGL Projects/OpenGL/Lib_files/SOIL/lib/libSOIL.a(SOIL.o):SOIL.c:(.text+0x3e): undefined reference to `glGetString@4'
C:/Users/John/OneDrive/OpenGL Projects/OpenGL/Lib_files/SOIL/lib/libSOIL.a(SOIL.o):SOIL.c:(.text+0x72): undefined reference to `glGetString@4'
...

这是我在 cmake 文件中得到的:

cmake_minimum_required(VERSION 3.6)
project(OpenGL)

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

set(SOURCE_FILES main.cpp Shader.h Shader.cpp)

set(LIBS_DIR C:/Users/John/OneDrive/OpenGL\ Projects/OpenGL/Lib_files)

set(GLEW_ROOT_DIR ${LIBS_DIR}/GLEW )
set(GLFW_ROOT_DIR ${LIBS_DIR}/GLFW )
set(SOIL_ROOT_DIR ${LIBS_DIR}/SOIL )

set(GLEW_INCLUDE_DIRS ${GLEW_ROOT_DIR}/include)
set(GLFW_INCLUDE_DIRS ${GLFW_ROOT_DIR}/include)
set(SOIL_INCLUDE_DIRS ${SOIL_ROOT_DIR}/include)

set(GLEW_LIBRARY ${GLEW_ROOT_DIR}/lib/libglew32.a)
set(GLUT_LIBRARY ${GLFW_ROOT_DIR}/lib/libglfw3.a)
set(SOIL_LIBRARY ${SOIL_ROOT_DIR}/lib/libSOIL.a)


include_directories( ${GLEW_INCLUDE_DIRS} ${GLFW_INCLUDE_DIRS} ${SOIL_INCLUDE_DIRS})

add_executable(OpenGL ${SOURCE_FILES})

target_link_libraries(OpenGL libopengl32.a ${GLEW_LIBRARY} ${GLFW_LIBRARY} ${SOIL_LIBRARY})

一旦我尝试构建,我就会遇到 GLFW 和 SOIL 但不是 GLEW 的大量“未定义引用”错误。

我做错了什么?

最佳答案

我也遇到了这个问题,在 target_link_libraries() 末尾添加“glfw”可能会有所帮助。我从 reddit 得到这个解决方案。 https://www.reddit.com/r/GraphicsProgramming/comments/76rtt5/linking_glfw3_with_clion/

关于c++ - 使用 cmake 对 `glfwInit' 问题 Clion OpenGL 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40421396/

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