gpt4 book ai didi

c++ - 为什么我在这段代码中得到一个 undefined reference ?

转载 作者:行者123 更新时间:2023-11-30 02:46:12 25 4
gpt4 key购买 nike

我正在使用 Windows 并且正在调用函数 glGenBuffers。当我使用它时,出现以下错误:

error: undefined reference to _imp____glewBufferData

我正在链接我的 MinGW/lib 文件夹中的 glew32 dll,并且我在 中有 glew.h >MinGW/包括。我还将 glew32.dll 放在 WINDOWS/system32 文件夹中。

我正在这样编译:

mingw32-g++.exe ... -lglfw -lglfw3 -lopengl32 -lglew32 -lgdi32 -lglu32 -lglew32s

是库的顺序导致了问题吗?如果是这样,什么应该先于另一个?

最佳答案

MinGW 不喜欢随 glew for Windows 一起提供的二进制动态库,它只能与 Visual C++ 一起工作,除非你对它做很多不必要的复杂事情。

更简单的解决方案是从构建命令行中删除 -lglew32,保留 -lglew32s(静态库)并添加 -DGLEW_STATIC。最后一部分非常重要,因为当您#include "glew.h" 时,glew 默认采用动态链接。 GLEW_STATIC 必须首先定义,以便链接器正确解析 Windows 上的静态符号。

关于c++ - 为什么我在这段代码中得到一个 undefined reference ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23791472/

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