關于MinGW中的glut庫
Mark Kilgard提供的glut庫解壓后包含一個.h,一個.def,一個.lib和一個.dll文件。將.h拷貝到MinGW的include目錄下,.dll拷貝到windows的系統目錄下(windows\system32),.def和.lib文件在eclipse下面不太好使,可以使用reimp工具將.lib文件轉換成.a文件。命令如下:
reimp?glut32.lib
這樣,就會在同一目錄下生成一個glut32.def和一個libglut32.a文件,將libglut32.a拷貝到MinGW的lib目錄下。同時記得要刪除原來的glut庫,否則link時可能會出錯。
glut主程序框架
#include <GL/glut.h> //頭文件。
int main(int argc, char** argv) {
??? //初始化glut并建立窗口
??? glutInit(&argc, argv);
??? glutInitDisplayMode(GLUT_DEPTH | GLUT_SIGNLE | GLUT_RGB);
??? glutInitWindowPosition(100, 100);
??? glutInitWindowSize(200, 200);
??? glutCreateWindow(windowTitle);
???
??? //注冊glut的callback函數
??? glutDisplayFunc(display);
??? glutReshapeFunc(reshape);
??? glutIdleFunc(idle);
??? glutKeyboardFunc(keyboard);
???
??? //啟用光線、深度測試等
??? glEnable(GL_LIGHT0);
??? glEnable(GL_LIGHTING);
??? glEnable(GL_DEPTH_TEST);
??? //進入glut主循環
??? glutMainLoop();
??? return 0;
}
安裝開發平臺
為了保持開發平臺的一致性,采用GCC+eclipse作為開發平臺。
在Debian Linux下安裝GCC和make就可以了。安裝了X環境后,系統中就已經包含了OpenGL的頭文件和庫文件,但是要使用GLUT的話,還需要安裝GLUT的包。我使用的是freeglut3。
$sudo
?apt
-
get?install?gcc?make?freeglut3
-
dev
在Windows下,GCC的解決方案有很多,我使用的是MinGW,可以下載DevCpp,它包括MinGW和一個C/C++的IDE,因為我使用eclipse作為IDE,所以,我使用MinGW的官方開發工具。到MinGW的官方網站上下載以下包:
binutils
gcc-core
gcc-g++
mingw32-make
mingw-runtime
mingw-utils
w32api
最后再下載調試器gdb。
為了能使用Mark Kilgard提供的glut庫(http://www.xmission.com/~nate/glut.html),盡量下載最新的官方版本,該glut庫要求binutils版本至少是2.16.91。
http://www.mingw.org/MinGWiki/index.php/Glut頁面解釋了在MinGW下使用Mark Kilgard的GLUT庫會出現的問題及解決的辦法。
至于Eclipse和CDT的安裝很簡單,在Linux下和Windows下也沒什么區別。需要注意的是:為了讓Eclipse能是別到GCC,需要吧GCC的bin目錄加入系統路徑PATH中,eclipse會自動查找make.exe,而MinGW的Make程序名叫mingw32-make.exe,所以,要么把mingw32-make.exe更名為make.exe,要么指定eclipse使用mingw32-make.exe進行make。
最近發現國內的debian安裝源服務器很不穩定,想換一個速度快的,結果apt-get update運行失敗后,把安裝源換回來再重新安裝其他包時都會報包依賴錯,apt-get update好像起不了作用。研究后發現,刪除/var/cache/apt/下的兩個bin文件,再apt-get update就可以了。
知道java5.0中中文顯示的解決辦法是在jre/lib/fonts/目錄下建立一個fallback目錄,然后把中文字體連接進去就可以了,但我找樂半天都沒找到這個目錄,最后發現用update-alternative --config java指令便可以得到這個目錄的信息。