错误 LNK2019:函数 ___tmainCRTStartup 中引用了无法解析的外部符号 _wWinMain@16

2024-01-18

我开始使用 DirectX 11 并收到以下编译错误:

错误 1 ​​错误 LNK2019:无法解析的外部符号函数 _ 中引用了 wWinMain@16_tmainCRT启动

错误 2 error LNK1120: 1 unresolved externals(我认为这个错误是由于上面这个错误造成的)

我已经搜索此问题的修复程序很长一段时间了,但我无法在此网站或通过谷歌的任何其他网站上找到此问题的任何修复程序。

我在这个项目中使用 Visual Studio 2012 和 c++。为了制作我的测试项目,我通过“新建项目”->“Visual C++”->“空项目”创建了一个空项目。 我在这个项目中使用标准编译器。

这是我的 main.cpp 文件中的 wWinMain 标头:

int wWinMain(HINSTANCE hInstance, HINSTANCE prevInstance,
 LPWSTR cmdLine, int cmdShow)

IntelliSense 还在文件开头的某些包含行上不断抛出“4 IntelliSense: '#' not Expected Here”错误,这些行:(编辑:错误不断消失并重复出现)

#include <Windows.h>
#include <memory>
#include "BlankDemo.h"
#include <tchar.h>

我把它放在我的帖子中,因为我认为这可能受到错误的影响,或者与错误有​​关,它可能只是包含文件。 BlankDemo.h 是仅生成空白 DirectX 11 窗口的测试演示的头文件。

我使用的所有代码都来自一本关于 DirectX 的书;由于我还不习惯 DirectX,我尝试了许多修复方法,但似乎都没有摆脱这个错误,修复方法是:

转到“属性”->“配置属性”->“常规”->“字符集”并将其更改为“使用 Unicode 字符集”。

更改字符集后,错误仍然存​​在。

转到“属性”->“链接器”->“系统”并将子系统更改为 Windows (/SUBSYSTEM:WINDOWS)。

我也尝试将其更改为控制台(/SUBSYSTEM:CONSOLE),这些更改似乎都无法解决问题。

我还转到“属性”->“链接器”->“命令行”并将 /ENTRY:"wWinMainCRTStartup" 添加到“其他选项”,这也不能解决问题。

我仍然对项目进行了更改,如上面项目中详细说明的那样。我只输入了几行代码,因为错误似乎与我在这篇文章中输入的代码有关,而且当我复制并粘贴代码时,它似乎格式不正确,但如果您需要,请告诉我查看更多代码。

编辑:我已将功能更改为int WINAPI __stdcall wWinMain(HINSTANCE hInstance, HINSTANCE prevInstance,
 LPWSTR cmdLine, int cmdShow)即使使用__stdcall or WINAPI在函数名称中似乎不起作用。至少,就我使用它们的方式而言,请告诉我这是否不正确。


抱歉,大家,我似乎在这里犯了错误,例如;我一开始并没有使用 Unicode,在“属性”->“配置属性”->“常规”->“字符集”下。似乎从一开始就使用多字节字符集,这让 Visual Studio 2012 误以为我正在使用多字节字符集。这导致它抛出错误,即使“属性”->“链接器”->“高级”下的入口点设置为 wWinMainCRTStartup 也是如此。这是有道理的,因为字符没有被正确识别。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误 LNK2019:函数 ___tmainCRTStartup 中引用了无法解析的外部符号 _wWinMain@16 的相关文章

随机推荐