我已经获得了 GLUT 3.7 源代码并打开了 MSVC 项目。我在项目设置中将DLL切换为静态库,得到了一个lib。然后我在我的应用程序中链接它,并添加了 GLUT_STATIC 预处理器定义。它创建窗口并渲染我的游戏的一帧,仅此而已。而游戏在 GLUT 的动态版本中运行得很好。我做错了什么?
谢谢
似乎发生的事情是我的定时器功能没有被调用:
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(640, 480);
glutCreateWindow("Game");
CubeEngine.InitEngine();
glutDisplayFunc(drawScene);
glutReshapeFunc(handleResize);
glutSpecialFunc(keyboard);
glutSpecialUpFunc(keyboardup);
glutKeyboardFunc(rkeyboard);
glutKeyboardUpFunc(rkeyboardup);
glutPassiveMotionFunc(mousemove);
glewInit();
glutTimerFunc(17, update, 0);
glutMainLoop();
void update(int val) {
CubeEngine.UpdateLogic();
glutPostRedisplay();
glutTimerFunc(17, update, 0);
}
最佳答案
只是一个想法:可能是因为符号重复。您可以尝试重命名该 update
函数吗?
关于c++ - 静态编译过剩?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3637280/