Statc 编译过剩?

问题描述 投票:0回答:1

我已经获得了 GLUT 3.7 源码并打开了 MSVC 项目。我在项目设置中将DLL切换为静态lib并得到了一个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);
}
c++ c glut
1个回答
1
投票

只是一个想法:可能是因为重复的符号。您可以尝试重命名该

update
函数吗?

© www.soinside.com 2019 - 2024. All rights reserved.