首页 > 解决方案 > 开始执行 GLEW 代码之前的运行时错误

问题描述

我在 clion 上设置 GLEW 和 GLFW,glfw 工作正常,但我遇到了 glew 问题。链接 glew 后,我构建了代码并且工作正常,但是当使用任何 glew 函数然后运行代码时,在执行任何行代码之前会出现运行时错误。

我尝试删除计算机上的每个 glew 文件,然后按照上一个问题中的建议重新安装glew。我认为这个问题可能是一个链接问题,所以我搜索了一个链接 glew 的正确方法。我发现了这个老问题,但在他的案例中使用的 glew 版本与我从官方网站下载的已经准备好链接 Cmake 的版本不同。

Cmake代码:

cmake_minimum_required(VERSION 3.12)
project(graphics)

set(CMAKE_CXX_STANDARD 14)

add_executable(graphics main.cpp)

set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
add_subdirectory(glfw)
target_link_libraries(graphics glfw)
find_package(OpenGL REQUIRED)
target_link_libraries(graphics OpenGL::GL)

add_subdirectory(glew-2.1.0/build/cmake)
target_link_libraries(graphics glew)
find_package(glew REQUIRED)

我尝试运行的代码:

#include <iostream>
using namespace std;

#include "glew-2.1.0/include/GL/glew.h"

int main()
{
    glewInit();
    return 0;
}

我仍然认为这可能是一个链接问题,但我对 cmake 没有太多经验。希望你能帮助我,提前谢谢

编辑:问题已解决。这是一个丢失的 dll 文件。这个文件是clion链接后创建的glew32d.dll,但是clion不能使用,所以我把它放在项目目录下。我还尝试放入 MinGW/bin 并工作。我用来找出评论中丢失的 dll 文件的程序。

标签: c++cmakeclionglew

解决方案


推荐阅读