从书中复制代码的人(编程Windows第5版):
#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
MessageBox (NULL, TEXT ("Hello, Windows 98!"), TEXT ("HelloMsg"), 0) ;
return 0 ;
}
Run Code Online (Sandbox Code Playgroud)
链接到推荐本书的主题.无法用VS2010编译它.我究竟做错了什么?
Error 1 error LNK2001: unresolved external symbol _WinMainCRTStartup
Run Code Online (Sandbox Code Playgroud)
谢谢.
这取决于您如何设置项目.在VS2010中,如果我通过File-> New-> Project,Visual C++,Empty Project创建一个新项目,然后添加一个新的C++文件,并复制你的代码,它编译并运行就好了.
如果您创建了不同类型的项目,则可能使用不同的链接库.尝试在解决方案资源管理器中右键单击项目,转到属性 - >链接器 - >系统,并将子系统设置为"Windows(/ SUBSYSTEM:WINDOWS)
Win32 API已经过时了,但如果您想进行本机Windows编程,则大部分都是完全可用的.Windows做了大量工作,以确保只要您遵循文档,旧的API将不会更改.您仍然可以从1992年编译16位Windows 3.1代码并在32位Windows 7上运行它.
编辑:也可能是在Properties-> C/C++ - > Advanced中,您将Omit Default Library Name设置为"Yes",您可能希望将其设置为"No"
或者还应将Properties-> Linker-> Input-> Ignore Default Libs设置为No.
| 归档时间: |
|
| 查看次数: |
332 次 |
| 最近记录: |