Windows 編譯 glut3.7
1.下載glut37.zip和glut37data.zip,接到同一目錄(glut-3.7)下;
2.配置目標路徑:
(1)打開glut-3.7\glutwin32.mak,
(2)配置生成路徑,參考如下:
# MSVC install directories
LIBINSTALL = "C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\lib"
INCLUDEINSTALL = "C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\include\\GL"
# Win95 dll directory
#DLLINSTALL = "C:\\Windows\\system32"
# WinNT dll directory
DLLINSTALL = "C:\\Windows\\system32"
2.編譯,打開Visual Studio 命令提示(2010)工具,進入glut-3.7目錄,運行glutmake.bat;
3.Error,編譯時出現打不開"glut32.lib"問題:
找到glut-3.7\lib\glut\Makefile.win,記事本打開,
將
$(link) $(LFLAGS) -out:$(GLUTDLL) -def:glut.def $(OBJS) $(LIBS)
修改爲:
$(link) $(LFLAGS) -out:$(GLUTDLL) -def:glut.def $(OBJS) $(LIBS) -NODEFAULTLIB:$(GLUTLIB)
,然後重編;
4.Error, particle.c編譯不過, timeb.h出錯;
修改:
float timedelta(void)
{
static long begin = 0;
static long finish, difference;
/*
#if defined(_WIN32)
#include <stdio.h>
#include<time.h>
#include<sys/types.h>
#include <sys/timeb.h>
static struct _timeb tb;
_ftime(&tb);
finish = tb.time*1000+tb.millitm;
#else
#include <limits.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/times.h>
static struct tms tb;
finish = times(&tb);
#endif
*/
difference =100;// finish - begin;
begin = finish;
return (float)difference/(float)1000; /* CLK_TCK=1000 */
}
此後應該沒問題了;
成功!