我正在为游戏开发学习c ++我正在读一本书并使用win32 api所以我试图编译我的程序测试
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInsance,HINSTANCE hPrevInstance,PSTR cmdLine,int showCmd){
MessageBox(0,"First Win32 Program","Window Tittle",MB_OK);
}
我得到了:
LINK:错误LNK2001:未解析的外部符号_WinMainCRTStartup
我是win32编程的新手,所以我不知道我在使用windows7 thnx :)的错误在哪里!
答案 0 :(得分:2)
当我意识到我忘记添加源
时,我遇到了同样的问题并得到了解决答案 1 :(得分:1)
您可以使用/ENTRY:WinMain
覆盖默认名称,也可以使用/MT
进行编译,以便编译器以链接器抓取运行时库(提供条目)的方式标记目标文件点)。
运行时库入口点执行一些很好的操作,比如运行全局构造函数,设置一个全局异常处理程序,这样就可以在未捕获的异常情况下获得一个对话框,但它绝对没有必要。
注意:如果您不使用库入口点,则没有可用的参数。您必须使用GetCurrentProcess
和GetCommandLine
以及GetStartupInfo
等操作系统功能来获取通常作为WinMain
参数提供的信息。你还没有使用任何一种。但是在使用自己的入口点时要三思而后行,很多东西都取决于库的初始化,你最好确定你没有使用它。
答案 2 :(得分:-2)
你真的想看看XNA的游戏开发。对于您的第一个应用程序 - 让VC ++ IDE完成繁重的任务。选择New Project,Console App,然后printf“Hello World” - 将为您设置所有默认值 -