c++ - 开始执行 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 文件的程序。
解决方案
推荐阅读
- linux - 是否可以抑制来自 docker 日志的特定消息?
- r - 有没有办法可以循环并加快速度
- r - 聚合和计算数据集变量中的元素
- linux - Makefile:439: 目标“mysql.o”的配方失败
- common-lisp - 将带有波浪号的文件名展开到其完整路径(Common Lisp)
- javascript - JSON 总是以 [null
- c++ - xlCanTransmit() 函数无法正常工作
- python - Selenium - 无法在页面源中找到元素
- linux - 用 linux bash 处理数据流
- google-sheets - Google 表格 - 将填充颜色应用于多个单独的单元格(无需使用下拉菜单)