我试图创建一个Windows应用程序并静态链接到CRT。我收到此错误,
LINK:错误LNK2001:未解析的外部符号WinMainCRTStartup
我正在使用此命令行进行编译
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\cl.exe" /c main.cpp /O2 /I"C:\Program Files (x86)\Windows Kits\8.1\include\shared" /I"C:\Program Files (x86)\Windows Kits\8.1\include\um" /I"C:\Program Files (x86)\Windows Kits\8.1\include\winrt" /I"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\Include" /DWIN32 /D_WINDOWS /Zi /MT /nologo
并使用此命令行链接
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\link.exe" user32.lib libcmt.lib kernel32.lib main.obj crt_win64.obj /SUBSYSTEM:WINDOWS /DEBUG /nologo /MACHINE:x64 /LIBPATH:"C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\Lib"
正如您所看到的,我在编译器上使用/ MT开关并在链接器上使用/ SUBSYSTEM:WINDOWS开关。
我还链接到libcmt.lib。
我的主要功能的签名是
int __stdcall WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
我错过了什么?