如何解决“无法解析的外部符号”问题Visual C++ 中的链接错误?

发布于 2024-12-09 16:05:18 字数 532 浏览 0 评论 0原文

我有 Visual Studio C++ 2008 Express 版本。

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

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

我试图做什么:

我在谷歌上找到了这个:

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 )
{
}

I Have the Visual Studio C++ 2008 Express Edition.

I am trying to compile a program but I am getting the following Link Error:

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

What I tried to do:

I found this on 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.

It was intended to work but didn't. How do I compile this app?

The code is stupidly simple:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

倾`听者〃 2024-12-16 16:05:18

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

  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 字符集(项目设置 -> 常规 -> 字符集)

There are multiple ways to solve this:

  1. Create a console application
  2. Change the Subsystem console now in the linker settings ( Project Settings -> Linker -> System -> SubSystem (select Console))
  3. Change the entry point in the linker settings to mainCRTStartup (Project Settings -> Linker -> Advanced -> Entry Point)
  4. Define int CALLBACK WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow ); instead of int main(int argc, char const ** argv)

  5. Change the Character Set to Use Unicode Character Set (Project Settings -> General->Character Set )

述情 2024-12-16 16:05:18

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

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

It looks like when you created your project you selected a GUI (Win32, MFC, etc) program.
Those programs have a WinMain() instead of a main().

What you want is a Console project.

jJeQQOZ5 2024-12-16 16:05:18

根据 类似问题,发生该错误当 main 未定义时。

也许由于某种原因它正在编译不同的文件?

此答案表明您的标志可能不一致。

According to similar questions, that error happens when main isn't defined.

Maybe for some reason it's compiling a different file?

This answer suggests that maybe your flags are inconsistent.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文