建筑物的窗户上闪烁着明辉
Building glew on windows with mingw32
这是一个重复,我很抱歉,但我没有任何其他选择,因为我不能对答案发表评论,他们没有解决我的问题。原文如下:
Building glow on windows with mingw
我的问题是:
1)当我尝试@LightningIsMyName的答案时,我得到这个错误:
Makefile:1: ***缺少分隔符。停止。
2)当我尝试@匿名的答案时,我得到这个错误:
Makefile:1: Makefile:1: ***命令在第一个目标之前开始。停止。
人们说这个答案对他们有帮助,但对我不起作用。我很抱歉我重复了一个问题,但我没有其他的机会与声誉限制评论。希望你能帮上忙。谢谢。
为了找到问题的答案,我进行了多次搜索。我花了很多时间,所以我把它贴在这里帮助别人。
要使GLEW与MinGW一起工作,您应该从GLEW网站下载源代码并放入
gcc.exe from MinGWbin
path .exe from MinGW32 MinGW32 bin
到GLEW的源文件夹,并在该文件夹中创建并运行.bat,如下所示:
gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.o -c src/glew.c
gcc -shared -Wl,-soname,libglew32.dll -Wl,--out-implib,lib/libglew32.dll.a -o lib/glew32.dll src/glew.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
ar cr lib/libglew32.a src/glew.o
gcc -DGLEW_NO_GLU -DGLEW_MX -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.mx.o -c src/glew.c
gcc -shared -Wl,-soname,libglew32mx.dll -Wl,--out-implib,lib/libglew32mx.dll.a -o lib/glew32mx.dll src/glew.mx.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
ar cr lib/libglew32mx.a src/glew.mx.o
你会得到你的。dll和。a文件在lib文件夹。.dll文件放到system32文件夹,.a文件放到MinGW lib文件夹
最后,如果你正在使用SFML,在GLEW之前链接SFML库,最后链接OpenGL。如果你改变链接顺序,你会得到一个链接错误。
不要忘记在创建窗口后调用glewInit()
试试这些命令:
1: gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.o -c src/glew.c
2: gcc -shared -Wl,-soname,libglew32.dll -Wl,--out-implib,lib/libglew32.dll.a -o lib/glew32.dll src/glew.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
3: ar cr lib/libglew32.a src/glew.o
如果你不能让它以这种方式工作,试试我的(Borland编译器):
-
下载GLEW源代码(不是二进制文件)
-
glew.c
源代码我的是~900KB(我认为GLEW 1.6) -
glew.h
头矿约900KB(我认为GLEW 1.6)
-
-
我使用本地项目路径存储GLEW
我知道这是多余的,但我不需要在系统更改后进行更改,如重新安装操作系统或新的编译器版本等…但是为了让它工作,你需要在
里面做一些改变。glew.c
:- change
#include <glew.h>
to#include "glew.h"
如果你想使用全局路径,那么把它添加到你的编译器中,把文件复制到那里,让
<>
保持原样 - change
-
将这两个文件复制到你的项目
这是如何正确地将它包含到项目中,只需将其添加到主源文件(winmain或main函数所在的位置):
#include <windows.h> // optional windows #include <math.h> // optional #define GLEW_STATIC // this configure header and source of GLEW to compile correctly #include "glew.c" // header is included inside so no need to duplicate include // here are the OpenGL includes like: gl.h,glext.h,....
-
现在应该可以工作了
不要忘记在OpenGL初始化之后和使用任何扩展之前调用
glewInit();
…
- 处理闪烁窗口事件
- 如何避免LED在循环状态变化中闪烁?
- 如何在窗户上使用和配置叮当声?
- ExtTextOut 文本的持续闪烁,在一段时间后,文本将恢复为默认字体
- 从 c++ 运行 MsiExec.exe?窗户
- 为什么在使用VK_PRESENT_MODE_FIFO_KHR呈现模式调整交换链图像大小时出现白色闪烁
- 如何在不闪烁的情况下运行ESP32的单元测试
- 清除控制台时C++闪烁
- 使用 Cmake 闪烁浏览器引擎示例?
- 为什么当我输入大量数字时,我的计算器程序开始闪烁和滚动
- 在鼠标按下时移动 SDL2 窗口的功能闪烁窗口并且移动速度不够快
- 管道到窗户上的ffmpeg
- 对话框窗体快速闪烁,但之后未正确绘制
- 如何为我的窗户腾出顶部空间?
- 动图在闪烁
- 如何在 Win32 应用中拖动纯色矩形,而不会产生白色闪烁,也不会干扰其他屏幕对象
- DirectX 窗口通过多窗口和多线程快速闪烁
- Windows在OpenGL中更改焦点时会闪烁
- 在窗户中编译CUDA的意义
- 建筑物的窗户上闪烁着明辉