[DirectX3D]龙书 第四章初始化D3D遇到报错:错误 LNK2019 无法解析的外部符号 _WinMain@16,函数 “int __cdecl invoke_main(void)“

目录

1、问题

2、原因

3、解决方法

4、完整教程

1、创建新项目

2、添加现有项

3、运行调试


前言:我用的环境是 VS 2022

1、问题

在学习龙书第四章“Direct3D的初始化内容”时,遇到:

错误    LNK2019    无法解析的外部符号 _WinMain@16,函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中引用了该符号

在网上找了很多方法(修改C++预处理器_WINDOWS等)都不管用,后来发现自己创建Windows桌面向导、桌面应用程序时,这些设置已经是正确的了。

2、原因

问题的原因就在我只添加了Common文件夹中的基础文件,此时程序没有WinMain入口

3、解决方法

方法很简单,只要在项目中添加第四章中的这个cpp文件即可

下面我还是从头开始一步步地写完整的运行教程。

4、完整教程

1、创建新项目

选择 Windows 桌面向导 ,点击下一步

给项目取个名称,点击创建

这里要选择 桌面应用程序 ,并勾选 空项目 ,点击确定

2、添加现有项

右键新键的项目,选择 添加现有项

打开Common文件夹(在龙书配套资料→本书配套源代码里有),Ctrl+A 全选文件,点击 添加

将第四章中 Init Direct3D 文件夹下的 InitDirect3DApp.cpp 文件复制粘贴到自己创建的项目文件夹下

在项目中添加这个cpp文件(还是上面的 添加 → 现有项 操作)

3、运行调试

由于我用的 VS 是2022版的,运行后会出现 “&”要求左值 的报错

解决方法:

右键当前项目,点击 属性 (菜单顶部的 项目-属性 可能不会成功)

把 配置属性→C/C++→语言→符合模式 选项改为 ,点击应用和确认

最后再次运行,没有报错,成功啦^ ^

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lin_ll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值