九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Mingw GLUT OpenGL

有一次,在別人電腦上發(fā)現(xiàn)沒有安裝開發(fā)工具。不想隨便在別人機(jī)器上裝東西,于是,心想,何不在U盤上放一個(gè)portable編譯工具?在網(wǎng)上搜了搜,發(fā)現(xiàn)mingw正合我意,一方面,對(duì)linux并不陌生,另一方面,感覺gnu下的編程比較清晰。

一、mingw的安裝
mingw的介紹就不多說了,可上mingw主頁查看,簡(jiǎn)單來說就是windows環(huán)境下的gnu工具集,其核心是gcc。
http://sourceforge.net/projects/mingw/files/可以下載到所需要的軟件包。mingw是由其中一些軟件包所組裝起來的,有一些是必須的組件,有一些是可選的。
在這個(gè)網(wǎng)頁可以找到安裝步驟:http://www.mingw.org/wiki/Getting_Started。簡(jiǎn)而言之,將必須使用的包下載下來,注意不是源碼包,而是二進(jìn)制文件包,里面應(yīng)該是已經(jīng)編譯好了的庫和程序。這些包包括gcc-core, g++, mingw-runtime, binutils, gcc-objc, gmp, mingw-make, mpfr, win32api, 上述程序包不一定每個(gè)都是必須的,但是,我覺得都是有必要的,它們的名字可能有出入,稍微辨認(rèn)一下就行了。
將這些包解壓縮到一個(gè)文件中,應(yīng)該有如下文件夾:info, libexec, man, mingw32, bin, doc, include, lib, share。打開一個(gè)cmd,然后,進(jìn)入bin目錄。執(zhí)行g(shù)cc -v,如果無異常,則說明初步安裝成功。
再寫一個(gè)helloworld.c程序,放在根目錄下。
bin> gcc -o ../helloworld helloworld.c
bin> ../helloworld
如果都沒有錯(cuò)誤,則恭喜,你安裝成功。
另外,建議mingw-util和mingw-gdb也可盡量安裝,特別是gdb, 調(diào)試程序時(shí)用得到。


二、GLUT的安裝
GLUT的介紹也多說,簡(jiǎn)單來說,就是為快速開發(fā)OpenGL而設(shè)計(jì)的一種圖形界面。用glut可以很簡(jiǎn)單地生成一個(gè)窗口,而且專為OpenGL設(shè)計(jì)。
安裝GLUT首先要下載GLUT軟件包,我選的3.7.6版本,據(jù)說對(duì)版本有要求,太舊太新都可能會(huì)出問題。里面有g(shù)lut.h, glut32.lib, glut32.dll三個(gè)文件。glut.h置于mingw的include/GL目錄下,glut32.lib和glut32.dll可放于工程目錄下。

到此,全部安裝完畢。
可能有人會(huì)問,OpenGL還沒安裝呢,不必?fù)?dān)心,windows支持opengl。只要保證include/GL目錄中有g(shù)l.h, glu.h就行了。

需要注意的是,c++有兩個(gè)包,dll和bin,gcc-core也有兩個(gè)包,mingw-runtime除了dll包之外,還有一個(gè)dev包。這些應(yīng)該都是需要裝上的。


安裝成功后,運(yùn)行一個(gè)簡(jiǎn)單的程序測(cè)試一下:

#include <GL/glut.h>

void display()
{
glClear(GL_COLOR_BUFFER_BIT);

glBegin(GL_POLYGON);
glVertex2f(-0.5,-0.5);
glVertex2f(-0.5,0.5);
glVertex2f(0.5,0.5);
glVertex2f(0.5,-0.5);
glEnd();

glFlush();
}

int main(int argc,char **argv)
{
glutInit(&argc,argv);
glutCreateWindow("Hello,world!");
glutDisplayFunc(display);
glutMainLoop();
}


保存為glTest.c, 置于mingw根目錄下。
bin> set PATH=%cd%;%PATH%
bin> cd ..
mingw> gcc -o ..\glTest glTest.c -D_STDCALL_SUPPORTED -D_M_IX86 glut32.lib -lopengl32 -lglu32
mingw> glTest

如果不出意外,會(huì)彈出glut窗口。

需要解釋的有三點(diǎn):
一點(diǎn)是關(guān)于-D_STDCALL_SUPPORTED -D_M_IX86,這其實(shí)是定義缺少的兩個(gè)宏,你完全可以在源碼中用#define _STDCALL_SUPPORTED
#define _M_IX86
來代替。
第二點(diǎn)是,后面的庫glut32.lib,不能使用-lglut32。這是因?yàn)閙ingw內(nèi)部可能根本沒有提供glut32。我們所安裝的glut32.lib和glut32.dll屬于外部庫,要顯式地置于工程目錄中。在
獨(dú)木專欄 中有物是-lglut32, 但據(jù)稱他所使用的mingw提供了glut,這就另當(dāng)別論了。
第三點(diǎn)是,注意當(dāng)前目錄的概念。上面的編譯過程中,我將bin目錄加入PATH系統(tǒng)變量,這是很多系統(tǒng)通用的做法。其原因大概就是不要將編譯程序所在的目錄與當(dāng)前工程目錄弄混了。比如,我將glut32.lib置于工程目錄下,如果當(dāng)前目錄不是工程目錄,那么就會(huì)找不到glut32.lib文件。

參考:
http://blog.csdn.net/fox000002/archive/2008/04/08/2260949.aspx
https://users.cs.jmu.edu/bernstdh/web/common/help/cpp_mingw-glut-setup.php
http://www.mingw.org/wiki/IncludePathHOWTO
http://www.mingw.org/wiki/HOWTO_Use_Mark_J_Kilgards_OpenGL_Utility_Toolkit_GLUT_with_MinGW

PS: 原本,我還把mesa包放進(jìn)去來著,后來發(fā)現(xiàn),暫時(shí)沒有這個(gè)必要。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
win7 64bit下安裝openGL的freeglut
visual studio 2015下OpenGL庫的配置教程
Eclipse下OpenGL開發(fā)環(huán)境配置
Win7下qt5.3.1+opencv2.4.9編譯環(huán)境的搭建
vs2012搭建OpenGL環(huán)境 – 小寶個(gè)人筆記
在VS2013中配置openGl的心得
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服