今天做ECS175的Assignment 4.要把一个别人做好了的VC++ 6.0写的OpenGL的一个Battle Field的场景移植到Linux下用g++编译并能正常运行.好在OpenGL本身跨平台,而且源代码没有用MFC和过多的Windows部件.
但是还是很苦逼的移植了将近一天.说说弯路.
1) 不要一味的在Linux下改来改去最后两个平台都不能运行还不知道哪里错了.
Solution: 每做一点改动,就回到Windows下运行一遍.
2) 下注意虽然声明许多class的指针然后再以指针调用它们的样子很屌,但是在g++下指针的成员变量函数不可直接作为形参传入到其它函数中.
Solution: 将要调用的有关全部在类里声明成static,然后在相应的cpp文件开头声明:如 mesh_t *CMD2Model::m_tris; // triangle list
3) 可以写写log.
4) OpenGL中可以用<GL/glut>代替glu, gl, windows.h, etc ...