鏂板緩涓涓猄tandtart Make C++ project,灝嗗師鏉ュ彲榪愯鐨凮penGL紼嬪簭澶嶅埗榪囨潵錛屽啓濂組akefile錛岀粨鏋滅紪璇戠殑鏃跺欒繕鏄嚭鐜伴敊璇?br />榪樺ソ鎵懼埌浜嗚繖涓潪甯告湁鐢ㄧ殑緗戦〉錛?a >http://www.mingw.org/MinGWiki/index.php/Glut
鎸夌収涓婇潰鍒楀嚭鐨勯敊璇紝鎴戝湪姣忎釜錛僫nclude<GL/glut.h>鍓嶉兘鍔犱笂#define _STDCALL_SUPPORTED錛岀劧鍚庡張灝唃lut32銆俵ib銆?br />opengl32.lib銆乬lu32.lib閮芥斁鍒板綋鍓嶇殑宸ョ▼鐩綍涓嬶紝鐢ㄢ漡lut32銆俵ib opengl32.lib glu32.lib鈥?浠f浛鍘熸潵鐨?鈥?lglut -lopengl32 -lglu32",
鏈鍚庣粓浜庣紪璇戦氳繃銆?/p>
聽
闇瑕佺敤鍒扮殑杞歡鍖呮湁涓や釜錛実lut 鍜宼make,鍒嗗埆鍙互浠庝互涓嬩袱涓綉鍧涓嬭澆錛?BR>http://www.opengl.org/resources/libraries/glut/glut-3.7.tar.gz
ftp://ftp.trolltech.com/freebies/tmake/tmake-1.8.tar.gz
涓嬭澆鍚庣殑鏂囦歡鍋囪閮芥斁鍦?usr/src涓?/P>
棣栧厛鏄畨瑁単lut搴擄紝浠ヤ笅鏄粠www.linux.com鎵懼埌鐨勭紪璇慻lut搴撶殑鎵嬪唽銆?/P>
Install GLUT 3.7 Distribution (optional)
If you installed the MesaDemos/MesaLib package, then you have already installed GLUT 3.7 since it is included with MesaDemos. However, you may be interested in installing the GLUT
manpages and you can skip right to the "Install GLUT manual pages", below ...
Installing GLUT is a bit tricky. I'm not too familiar with imake, the program that it uses to manage the Makefiles, and didn't quite see how to get GLUT to install to where I wanted it (/usr/lib,
but MesaDemos will do this without any trouble though). It can be done manually anyhow:
cd /usr/src
tar -xvzf glut-3.7.tar.gz
cd glut-3.7
Read the file: README.linux
cd linux
READ the file: README
cp Glut.cf ..
cd ..
Edit Glut.cf: remove any Mesa references.
Replace any -lMesaGL -lMesaGLU with -lGL -lGLU if needed.
In particular, replace:
OPENGL = $(TOP)/../lib/libMesaGL.so
GLU = $(TOP)/../lib/libMesaGLU.so
with:
OPENGL = -lGL
GLU = -lGLU
./mkmkfiles.imake
cd lib/glut
cp /usr/src/glut-3.7/linux/Makefile .
Edit the Makefile: remove any Mesa references.
Replace any -lMesaGL -lMesaGLU with -lGL -lGLU if needed.
In particular, replace:
OPENGL = $(TOP)/../lib/libMesaGL.so
GLU = $(TOP)/../lib/libMesaGLU.so
with:
OPENGL = -lGL
GLU = -lGLU
make
ln -s libglut.so.3.7 libglut.so
ln -s libglut.so.3.7 libglut.so.3
cp -d libglut.* /usr/lib
cd ..
cd gle
# make a shared lib for libgle
make
gcc -shared -o libgle.so.3.7 *.o
ln -s libgle.so.3.7 libgle.so
ln -s libgle.so.3.7 libgle.so.3
cp -d libgle.* /usr/lib
cd ..
cd mui
# make a shared lib for libmui
make
gcc -shared -o libmui.so.3.7 *.o
ln -s libmui.so.3.7 libmui.so
ln -s libmui.so.3.7 libmui.so.3
cp -d libmui.* /usr/lib
# Install the GLUT manual pages (not included with MesaDemos)
cd /usr/src/glut-3.7
make SUBDIRS=man Makefile
cd man/glut
make install.man
ldconfig
cd ../../progs/demos/ideas
# edit the Makefile, change OPENGL = -lGL and GLU = -lGLU
make
./ideas
# test compiling some demos
# take a look at which libraries have to be linked (-lX11 ...) in
# the Makefiles. Qt's tmake program available at www.troll.no
# is a quick way to make a Makefile but you have to edit it
# and add the -l needed.
ideas濡傛灉榪愯鎴愬姛鐨勮瘽錛岃鏄巊lut宸茬粡鍙互鐢ㄤ簡,榪欐椂鍙互灝唅nclude/GL涓嬬殑glut絳夊ご鏂囦歡澶嶅埗鍒?usr/include涓幓銆?/P>
涓婇潰鐨勫嚑姝ヤ腑,涓嬭澆鐨刧lut鍖呮斁鍦?usr/src鐩綍涓嬶紝濡傛灉鏀懼湪鍏朵粬鐩綍涓嬶紝灝?usr/src鏀逛負鐩稿簲鐨勭洰褰曞嵆鍙?BR>姝ゅ搴旇娉ㄦ剰鐨勬槸涓や釜Makefile鏂囦歡鐨勪慨鏀?BR> 鏀?nbsp;
路 OPENGL = $(TOP)/../lib/libMesaGL.so
GLU = $(TOP)/../lib/libMesaGLU.so
涓?BR> OPENGL = -lGL
GLU = -lGLU
鍥犱負鎵鎸囧畾鐨勭洰褰曚腑娌℃湁libMesaGL.so鍜宭ibMesaGLU.so銆?/P>
涔嬪悗鏄痶make鐨勯厤緗紝鍚庨潰鎴戜滑鍙互鐢ㄥ畠鏉ョ敓鎴恜ro宸ョ▼鏂囦歡鍜宮akefile鏂囦歡銆?/P>
鍏堝皢涓嬭澆鐨則make瑙e帇緙╋紝tar -zxvf tmake-1.8.tar.gz
寰楀埌tmake-1.8鐩綍,涔嬪悗璁劇疆涓や釜鐜鍙橀噺錛歅ATH鍜孴MAKEPATH
PATH=$PATH:/usr/src/tmake-1.8/bin
export PATH
TMAKEPATH=/usr/src/tmake-1.8/lib/linux-g++
export TMAKEPATH
鏂板緩涓涓祴璇曠洰褰晅est錛屽皢glut-3.7鐩綍涓嬬殑progs/redbook鐩綍涓嬬殑hello.c澶嶅埗鍒皌est鐩綍涓?/P>
涔嬪悗鐢熸垚涓涓猵ro鏂囦歡錛歱rogen -o hello.pro
鐒跺悗鐢熸垚makefile鏂囦歡錛歵make hello.pro -o Makefile
緙栬緫鐢熸垚鐨凪akefile鏂囦歡錛屽湪鍔犺澆鍔ㄦ佽繛鎺ュ簱鐨勮閲岄潰鍔犲叆 -lglut -lXi -lXmu
淇濆瓨錛宮ake銆?/P>
./hello 鍙互鐪嬪埌榪愯緇撴灉灝卞彲浠ヤ簡銆?/P>
鍓嶄簺澶╁湪Redhat Linux寮勮繃OpenGL鐨勫紑鍙戠幆澧冿紝閭f椂鏄嚜宸辯紪璇戠殑glut搴擄紝鐒跺悗鐢╰make緙栧啓makefile錛屾劅瑙夊緢鏂逛究銆?/P>
浜斾竴鏈熼棿瑁呬簡涓狥reeBSD錛?.3 release錛孠DE妗岄潰錛屾劅瑙夎繕鏄笉閿欑殑錛岀敤澶氫簡鎰熻鍥懼艦鐣岄潰閮藉揩璧朵笂WindowsXP浜嗐?/P>
榪樻槸鍏ユ棰樺惂銆傛垜鎯寵瘯璇昰lut錛宲kg_info|grep glut
鍙戠幇鏈変釜libglut.6...鐨勶紝鏄敮鎸丱penGL鐨勶紝涓嶇煡閬撴槸涓嶆槸鎴戞兂瑕佺殑glut.
鏌ユ壘libglut.so,鍙戠幇鍦?usr/X11R6/lib閲岄潰浜嗭紝鐗堟湰3錛屽澶淬?/P>
鎶婂湪linux閲岀敤榪囩殑tmake錛屽拰opengl redbook婧愮爜鎷蜂簡榪囨潵錛岃緗ソtmake鐩稿叧鐨勭幆澧冨彉閲?/P>
褰撶劧鏈閲嶈鐨勬槸鏀圭浉搴旂殑tmake.conf鏂囦歡浜嗭紝灝唃lut鐩稿叧鐨勫簱鍔犺繘鍘?/P>
鏂板緩鐩綍test錛屽皢hello.c鎷瘋繘鍘伙紝
progen -o hello.pro
tmake hello.pro "CONFIG+=opengl" -o Makefile
鍙互鍏堟鏌ヤ竴涓嬬敓鎴愮殑Makefile錛屾垜娌℃湁鍙戠幇闂
make錛屾垚鍔燂紝鐢熸垚鍙墽琛岀殑hello
./hello鍑虹幇涓鏂扮獥鍙o紝鏈潵搴旇楂樺叴鐨勶紝鍗存湁鐐逛笉瀵瑰姴錛岀獥鍙d笂浠涔堜篃娌¤瘽
鑰屼笖鏄櫧鑹茶儗鏅紝搴旇鏄粦鑹茶儗鏅劧鍚庣敾涓涓櫧鑹茬殑姝f柟褰€?/P>
google浜嗗ソ涔咃紝緇堜簬鍙戠幇鏈変漢璺熸垜閬囧埌榪囧悓鏍風殑闂
瑙e喅鐨勬柟娉曞緢綆鍗?link鐨勬椂鍊欏姞涓?-pthread閫夐」,鎴戝厛鏀逛簡涓涓嬬敓鎴愮殑Makefile錛屽姞涓婁簡錛峱thread
make錛屼篃閫氳繃浜嗭紝鐪嬫潵闂鏈夊彲鑳借В鍐充簡
./hello 緇堜簬姝g‘鐨勭粨鏋滃嚭鐜頒簡