只是试图运行一个简单的Win32程序(来自Casey Muratori的手工英雄系列)
它不是Visual Studio项目。它只是一个命令行中带有Visual studio C编译器的cpp文件。
#include <windows.h>
LRESULT CALLBACK MainWindowCallback(HWND Window, UINT Message, WPARAM WParam, LPARAM LParam){
LRESULT Result = 0;
return Result;
}
int CALLBACK WinMain (HINSTANCE Instance, HINSTANCE PrevInstance, LPSTR CommandLine, int ShowCode){
WNDCLASS WindowClass = {};
WindowClass.style = CS_OWNDC|CS_HREDRAW|CS_VREDRAW;
WindowClass.lpfnWndProc = MainWindowCallback;
WindowClass.hInstance = Instance;
WindowClass.lpszClassName = "HandmadeHeroWindowClass";
if(RegisterClass(&WindowClass)){
HWND WindowHandle = {};
} else {
}
return 0;
}
命令行:
W:\src>cl -Zi handmade.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 19.39.33521 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
handmade.cpp
Microsoft (R) Incremental Linker Version 14.39.33521.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:handmade.exe
/debug
handmade.obj
handmade.obj : error LNK2019: unresolved external symbol __imp_RegisterClassA referenced in function WinMain
handmade.exe : fatal error LNK1120: 1 unresolved externals
尝试用RegisterClassA RegisterClassW RegisterClassEx替换RegisterClass,但没有成功。Win32文档有特定于Visual Studio的答案。帮助