gpt4 book ai didi

c++ - 新手 : How can I learn how to build GLEW with MinGW?

转载 作者:太空宇宙 更新时间:2023-11-04 04:12:25 28 4
gpt4 key购买 nike

<分区>

我是一个愚蠢的 C/C++ 新手,使用 Windows,通过控制台使用 MinGW 进行构建。几天来我一直在寻找如何构建 GLEW,以便我可以将它与我极其简单的 SDL+OpenGL 程序静态链接。对于静态链接,GLEW 据推测需要一个特殊的库,除了 lglew32,称为 lglew32s,这是我无法得到的。

我现在正在尝试学习使用 gcc/g++,并了解选项和整个预处理/编译/链接的一般情况。我在那里大约有 5%。我在网上找到了一些 GLEW 构建批处理文件的示例,大多数都很旧,但即使是其中一个新的也没有为我编译 lglew32s,所以我可以动态链接但不能静态链接。

因此,因为我在任何地方都找不到 glew32s.lib 是用 VS 以外的任何东西构建的,所以我必须学会理解这意味着什么,并以某种方式弄清楚如何用我从中学到的东西来编译 glew32s:

gcc.exe -DGLEW_NO_GLU -O2 -Wall -W -Iinclude  -DGLEW_BUILD -o src/glew.o -c src/glew.c
gcc.exe -fno-builtin -fno-stack-protector -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 -nostdlib
ar.exe cr lib/libglew32.a src/glew.o
gcc.exe -DGLEW_NO_GLU -DGLEW_MX -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.mx.o -c src/glew.c
gcc.exe -fno-builtin -fno-stack-protector -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 -nostdlib
ar.exe cr lib/libglew32mx.a src/glew.mx.o

我学会了使用 gcc/g++ 编译我自己的 .cpp 和 .c 项目(就实际代码而言,我再次勉强脱离“hello world”阶段),以及如何将它们动态链接到SDL 和 GLEW 库。我现在很清楚这一切意味着什么:

g++ sdlglew.cpp -o sdlglew -Wall -lmingw32 -lSDL2main -lSDL2 -lglew32 -lopengl32 -I "C:\SDL2-2.0.9\i686-w64-mingw32\include\SDL2" -L "C:\SDL2-2.0.9\i686-w64-mingw32\lib" -mwindows

(我的 SDL 东西在它自己的目录中。GLEW 的头文件和库在 MinGW 的目录中)

我想我需要在我的命令中使用 -DGLEW_STATIC 或在我的 sdlglew.cpp 中使用#define GLEW_STATIC 来静态编译 GLEW,但是这些带有 lglew32 的选项在编译时没有给我任何错误,并且由于缺少 glew32.dll 而无法启动。编译器用 -static 吐出错误,因为尚未为其设置 SDL。

基本上,如果您有任何资源来了解所提到的编译脚本每行到底在做什么以及我如何构建 glew32s,我会很高兴 :S 我想了解它,但似乎真的没有文档对我们这些新手来说

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