如何解决visual c ++中“未解决的外部符号”链接错误?

时间:2011-10-14 06:05:36

标签: c++ visual-studio visual-studio-2008 visual-c++ visual-studio-express

我有Visual Studio C ++ 2008 Express Edition。

我正在尝试编译程序但是我收到以下链接错误:

1>MSVCRT.lib(wcrtexew.obj) : error LNK2001: unresolved external symbol _wWinMain@16

我试图做的事情:

我在google上发现了这个:

For Visual C++ .NET: In the Advanced category of the Linker folder in the Project Properties dialog box, set the Entry Point to wWinMainCRTStartup.

它的目的是工作,但没有。我该如何编译这个应用程序?

代码简单愚蠢:

#include "stdafx.h"
int main( int argc, char ** argv )
{
}

3 个答案:

答案 0 :(得分:7)

有多种方法可以解决这个问题:

  1. 创建控制台应用程序
  2. 立即在链接器设置中更改子系统控制台(项目设置 - >链接器 - >系统 - >子系统(选择控制台))
  3. 将链接器设置中的入口点更改为mainCRTStartup(项目设置 - >链接器 - >高级 - >入口点)
  4. 定义int CALLBACK WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow );而不是int main(int argc, char const ** argv)

  5. 将字符集更改为使用Unicode字符集(项目设置 - >常规 - >字符集)

答案 1 :(得分:3)

看起来您在创建项目时选择了GUI(Win32,MFC等)程序。 这些程序有一个WinMain()而不是main()。

你想要的是一个控制台项目。

答案 2 :(得分:1)

根据similar questions,如果未定义main,则会发生错误。

也许出于某种原因,它正在编译一个不同的文件?

This answer表明你的旗帜可能不一致。