假期想学点新东西:看了下廖雪峰的phyon建站,coursera上的data analysis, 后来又找了下游戏引擎box2d。 前两个算是浅尝辄止了,web 开发主要是太不忍心;data涉及的现代优化算法真是好学问,可惜现在于我没有用武之地。所以只能惋惜放下了。物理引擎多少还有点工程引擎的影子,所以假期拿来玩玩比较合适。
下面是box2d test里面给的一个bridge算例。昨天看了hicoder翻译的手册和教程,昨晚上试着自己做下这个算例,问题竟然是系统。今天早上发现的:非mac直接用 gl/gl.h 的地方 在 mac 上的都需要 -framework opengl -framework glut 才能用。 内幕不了解,不过小例子算是通过了。
附上makefile:
6 CC = gcc
7 CXX = g++
8 CCFLAGS = -Wall -g
9 CXXFLAGS = -Wall -g
10 FRAMEWORK = -framework OpenGL -framework GLUT
11
12 SRC = ./Framework/Render.cpp ./Framework/Test.cpp ./Framework/Main.cpp TestEntries.cpp
13 OBJECTS = ${SRC:.cpp = .o}
14 TARGET = Bridge
15
16 INCLUDES += -I/System/Library/Frameworks/OpenGL.framework/Headers -I/System/Library/Frameworks/GLUT .framework/Headers -I../ -I.
17
18 #INCLUDES = -I../ -I.
19
20 STATICLIBS = -L../Build/freeglut -lfreeglut_static -L../Build/glui -lglui -L../Build/Box2D -lBox2D
21 SHAREDLIBS = -L/System/Library/Frameworks/OpenGL.framework/Libraries -lGL -lGLU
22
23 ### build
24 $(TARGET):$(OBJECTS)
25 ${CXX} ${CXXFLAGS} ${FRAMEWORK} ${INCLUDES} ${OBJECTS} -o ${TARGET} ${SHAREDLIBS} ${STATICL IBS}
26
27 ###compile
28 $(OBJECTS):$(SRC)
29 $(CXX) $(CXXFLAGS) ${FRAMEWORK} $(INCLUDES) $^ -c $@
30
31 clean:
32 rm -f ${OBJECTS} ${TRAGET} core