我有一个640x480的openGL窗口,我需要将其居中显示在屏幕中间。我以前使用过:
glutInitWindowPosition((GetSystemMetrics(SM_CXSCREEN)-640)/2,
(GetSystemMetrics(SM_CYSCREEN)-480)/2);
这是有效的。
但现在突然间当我编译时...
Linking...
1>Project1.obj : error LNK2028: unresolved token (0A000372) "extern "C" int __stdcall GetSystemMetrics(int)" (?GetSystemMetrics@@$$J14YGHH@Z) referenced in function "int __cdecl main(int,char * *)" (?main@@$$HYAHHPAPAD@Z)
1>Project1.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall GetSystemMetrics(int)" (?GetSystemMetrics@@$$J14YGHH@Z) referenced in function "int __cdecl main(int,char * *)" (?main@@$$HYAHHPAPAD@Z)
1>C:\Users\My Computer\Documents\School Stuff\CS445\Project1\Debug\Project1.exe : fatal error LNK1120: 2 unresolved externals
有人请帮助。这是非常恼人的和令人沮丧的我,因为我不知道很多关于OpenGL和GLUT。
3条答案
按热度按时间gjmwrych1#
此外,您也可以不链接user32.lib,而只使用glut:
和
既然可以跨平台,为什么还要依赖Windows?
因此,您的代码看起来应该是:
2uluyalo2#
你需要确保你链接的是User32.lib,一个定义了
GetSystemMetrics()
的静态库。打开你的项目设置,确保User32.lib列在你链接的所有. lib中。4xy9mtcn3#
首先:谷氨酰胺初始化窗口大小(720,720);
其次:窗口初始化位置(600,200);
终于:glutCreateWindow(“OpenGL窗口”);