cpp 文件没有用 cl 编译,但在内部编译得很好 Visual Studio
cpp File not compiling with cl, but compiles just fine inside Visual Studio
我遇到以下代码无法使用 CL (VS CMD) 编译的问题。
它没有编译,而是给我错误 LN2019。
在VS中编译同样的代码,编译无误
#include <windows.h>
LRESULT CALLBACK
MainWindowCallback( HWND Window,
UINT Message,
WPARAM WParam,
LPARAM LParam)
{
LRESULT Result = 0;
switch(Message)
{
case WM_SIZE:
{
OutputDebugStringA("WM_SIZE\n");
} break;
case WM_DESTROY:
{
OutputDebugStringA("WM_DESTROY\n");
} break;
case WM_CLOSE:
{
OutputDebugStringA("WM_CLOSE\n");
} break;
case WM_ACTIVATEAPP:
{
OutputDebugStringA("WM_ACTIVATEAPP\n");
} break;
default:
{
// OutputDebugSTringA("default\n")
Result = DefWindowProc(Window, Message, WParam, LParam);
} break;
}
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.hIcon;
WindowClass.lpszClassName = "FooWindowClass";
return(0);
}
我追踪到第 36 行的问题:
Result = DefWindowProc(Window, Message, WParam, LParam);
当我注释掉这一行时,文件编译得很好。
用于编译的 cl 命令也很标准:
cl -Zi Foo.cpp
我是否遗漏了某些 cl 参数?
错误 Error LN2019
没有 "main"(您似乎将其命名为 WinMain
)。
另请参阅:error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
你必须 link 和 user32.lib:
cl Foo.cpp user32.lib
我遇到以下代码无法使用 CL (VS CMD) 编译的问题。 它没有编译,而是给我错误 LN2019。 在VS中编译同样的代码,编译无误
#include <windows.h>
LRESULT CALLBACK
MainWindowCallback( HWND Window,
UINT Message,
WPARAM WParam,
LPARAM LParam)
{
LRESULT Result = 0;
switch(Message)
{
case WM_SIZE:
{
OutputDebugStringA("WM_SIZE\n");
} break;
case WM_DESTROY:
{
OutputDebugStringA("WM_DESTROY\n");
} break;
case WM_CLOSE:
{
OutputDebugStringA("WM_CLOSE\n");
} break;
case WM_ACTIVATEAPP:
{
OutputDebugStringA("WM_ACTIVATEAPP\n");
} break;
default:
{
// OutputDebugSTringA("default\n")
Result = DefWindowProc(Window, Message, WParam, LParam);
} break;
}
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.hIcon;
WindowClass.lpszClassName = "FooWindowClass";
return(0);
}
我追踪到第 36 行的问题:
Result = DefWindowProc(Window, Message, WParam, LParam);
当我注释掉这一行时,文件编译得很好。 用于编译的 cl 命令也很标准:
cl -Zi Foo.cpp
我是否遗漏了某些 cl 参数?
错误 Error LN2019
没有 "main"(您似乎将其命名为 WinMain
)。
另请参阅:error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
你必须 link 和 user32.lib:
cl Foo.cpp user32.lib