Window7+ 现代Opengl+ mingw + freeglut + glew + 命令行

来源:互联网 发布:淘宝怎么抢现货了快点 编辑:程序博客网 时间:2024/05/22 10:58

对于好多linux开发者来说,离不开windows的qq、旺信、网盘、但是在windiws下使用vs等ied来开发简直是妥协,因为我不知道这些ied是怎么瞎编译,瞎链接,关键若报错也不知是ied的问题还是代码的问题,但是现代opengl的开发好多都是用vs,然并不屌他,我就要gcc/g++。

 

Window7(64bit)+ 现代Opengl(4.0以上)+  mingw(32bit)+ freeglut +glew + 命令行开发环境搭建

 

1:首先确认你的显卡和操作系统支持opengl4.0及以上的现代opengl编程,网上自己搜opengl版本查看方式。(目前vmware12/14下安装的Ubuntu14/16,只支持opengl3.0以下,这是wmware的问题,无解的,virtualbox更烂。也是出于这无奈才选择纯windows下开发的,否则虚拟机下Ubuntu才是妥妥的好)

 

2:安装mingw,版本次新吧比如我的是4.9.2的,安装后配上环境变量,编辑两个简单的c程序和c++程序,编译并运行,确认安装ok即可。

 

3:然后下载freeglut,我下载的里面直接有运行库、链接库、头文件,拷贝到他们该去的地方,就是编译器mingw专门放链接库和放头文件的地方,运行库根据系统64还是32位放在对应的系统文件夹(我的mingw是32位的,操作系统64位的,搜寻运行库是去SysWOW64文件夹中找的,难道不该是去system32中找?不懂)

 

4:接着下载glew,下载源码版的,因为freeglut和glew的链接库和运行库是要匹配编译器mingw的,网上好多现成的都是匹配vs的,上面的freeglut正好下载的是mingw版的,直接能用。但这个glew不行,我们要自己编译,命令行cd到glew主目录下,执行这两行:

1gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.o -c src/glew.c

2gcc -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

执行第二个命令时可能报:DllMainCRTStartup这个错,那就更换第二行命令为:

2gcc -nostdlib -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

然后就在glew主目录的lib文件夹下获取了编译链接用库和运行库:xxx.dll.axxx.dll,和freeglut的相关文件一样放好。

 

5:在正式代码文件注意点:头文件glew.h要在freeglut.h前被包含。

 

6:正式代码的编译命令:

g++ main.cpp -o test -I C:\mingw49_32\include-L C:\mingw49_32\lib -lglew32 -lfreeglut -lopengl32

(其中的opengl32链接库我猜是显卡驱动提供的?我也没提供这库,而且c盘搜索也没找到这个库)



下面提供freeglut和glew的下载地址,mingw自己下吧:

https://pan.baidu.com/s/1hsozUE4

https://pan.baidu.com/s/1miBYzgc


下面这些图主要给我自己看的过程图:








原创粉丝点击