鱼C论坛

 找回密码
 立即注册
查看: 522|回复: 11

[已解决]小甲鱼Windows程序设计第三课的基本窗口框架复制到VS2022报错

[复制链接]
发表于 2023-8-8 21:36:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码地址 https://fishc.com.cn/thread-47361-1-1.html
直接运行报错如下图,有高手帮忙解答一下么?
最佳答案
2023-8-8 22:57:29
如果自己解决了问题,可以编辑帖子将帖子分类改为已解决,另外这个问题很好发现,一般在windows编程中发现编译器出现无法解析的外部符号main时就要注意了,因为main是控制台程序的主函数

报错1

报错1

报错2

报错2

报错3

报错3

报错4

报错4

报错5

报错5
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-8-8 21:37:15 | 显示全部楼层
在非代码的文本中加粗,非标题的文本不加粗

根据提供的问题描述,你在复制小甲鱼Windows程序设计第三课的基本窗口框架到VS202中运行时遇到了报错。由于无法直接查看图片,请提供报错信息或文字描述,以便更好地帮助你解决问题。

在这种情况下,我建议你检查以下几个可能的原因和解决方法:

1. 编译错误: 确保你已经正确地将代码复制到了Visual Studio 2022项目中,并使用了与代码匹配的编译器选项和设置。比如确保源文件的字符编码正确(如UTF-8),检查是否有任何语法错误或拼写错误。

2. 缺少依赖项: 确保你已经正确地安装和配置了所需的库和依赖项。如果代码中引用了第三方库或资源,需要确保在项目设置中正确地链接和包含这些库。

3. 平台兼容性: 某些代码可能只适用于特定版本的Windows操作系统或特定的编译器。如果你使用的是较新的Visual Studio版本,那么一些旧的代码可能需要进行相应的更新或修改。

4. 路径问题: 确保你正确地设置了源文件的路径和运行路径。如果代码中引用了其他文件或资源(例如图片、音频等),需要确保这些文件位于正确的位置,并且可以被代码正确地加载和访问。

如果你能够提供更详细的报错信息或代码片段,我将能够提供更具体的帮助和解决方案。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-8 21:37:18 | 显示全部楼层
根据您提供的信息,我看到您在使用小甲鱼Windows程序设计第三课中的基本窗口框架时遇到了问题。根据报错信息,这是由于您正在使用Visual Studio 2022运行代码时出现的错误。

这个问题可能是由于项目的配置问题导致的。您可以尝试以下解决方法:

1. 确保您已经正确地创建了一个空白的Win32控制台应用程序项目。您可以按照以下步骤进行操作:
   · 打开Visual Studio 2022。
   · 选择“创建新项目”。
   · 在“创建新项目”对话框中,选择“Win32控制台应用程序”。
   · 按照向导的指示完成项目的创建。

2. 确保您已经正确地将代码复制到了项目中。您可以在Visual Studio 2022的“解决方案资源管理器”窗口中找到您的项目,然后将代码文件复制到该项目中。

3. 检查您的代码中是否存在任何拼写错误或语法错误。这些错误可能导致编译错误。

4. 检查您的项目的属性设置。您可以右键单击项目,选择“属性”,然后检查“配置属性”和“链接器”选项卡中的设置是否正确。

如果您尝试了以上解决方法仍然无法解决问题,我建议您提供更详细的错误信息,以便我能够更准确地帮助您解决问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-8 21:37:31 | 显示全部楼层
在非代码的文本中加粗,非标题的文本不加粗

根据您提供的信息,在使用Visual Studio 2022运行小甲鱼Windows程序设计第三课的基本窗口框架时遇到了错误。以下是一些可能导致问题的原因及其解决方法:

1. 缺少依赖项: 在第一次运行程序之前,请确保已安装Visual Studio的所有必需组件和SDK。如果缺少某些组件,您可以通过使用Visual Studio的安装程序或Microsoft官方网站下载并安装它们。

2. 项目设置错误: 请确保您的项目设置与您所使用的Visual Studio版本兼容。有时,旧版本的程序可能无法直接在新版本的IDE中运行,需要进行适当调整。您可以尝试按照指导手册或教程中提供的步骤进行设置,以确保项目正确配置。

3. 编译错误: 在复制代码时可能发生了错误,导致编译失败。建议仔细检查复制的代码,确保没有语法错误、拼写错误或缺少必要的库文件。如果有错误,您可以尝试修复它们或根据报错信息进行进一步的调试。

4. 修改后的完整代码: 下面是经过适应Visual Studio 2022的小甲鱼Windows程序设计第三课的基本窗口框架的修改后的完整代码示例:
  1. #include <Windows.h>
  2. LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
  3. {
  4.     switch (uMsg)
  5.     {
  6.         case WM_PAINT:
  7.         {
  8.             PAINTSTRUCT ps;
  9.             HDC hdc = BeginPaint(hwnd, &ps);
  10.             FillRect(hdc, &ps.rcPaint, (HBRUSH) (COLOR_WINDOW+1));
  11.             EndPaint(hwnd, &ps);
  12.         }
  13.         break;
  14.         case WM_DESTROY:
  15.         {
  16.             PostQuitMessage(0);
  17.             return 0;
  18.         }
  19.         break;
  20.         default:
  21.             return DefWindowProc(hwnd, uMsg, wParam, lParam);
  22.     }
  23.     return 0;
  24. }
  25. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
  26. {
  27.     const wchar_t CLASS_NAME[] = L"My Window Class";
  28.     WNDCLASS wc = { };
  29.     wc.lpfnWndProc = WindowProc;
  30.     wc.hInstance = hInstance;
  31.     wc.lpszClassName = CLASS_NAME;
  32.     RegisterClass(&wc);
  33.     HWND hwnd = CreateWindowEx(0, CLASS_NAME, L"Learn to Program Windows", WS_OVERLAPPEDWINDOW,
  34.                                CW_USEDEFAULT, CW_USEDEFAULT, 800, 600, NULL, NULL, hInstance, NULL);
  35.     if (hwnd == NULL)
  36.         return 0;
  37.     ShowWindow(hwnd, nCmdShow);
  38.     MSG msg = { };
  39.     while (GetMessage(&msg, NULL, 0, 0))
  40.     {
  41.         TranslateMessage(&msg);
  42.         DispatchMessage(&msg);
  43.     }
  44.     return msg.wParam;
  45. }
复制代码

请确保将代码中的#include <Windows.h>和其他相关头文件正确引入,并按照您的需要进行必要的修改。希望这可以帮助您解决问题,如果还有其他疑问,请随时提问。

如果回答对你有帮助,请给我一个最佳答案!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-8 21:43:45 | 显示全部楼层
点击创建后要选中桌面应用程序

找到解决方案了

找到解决方案了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-8 21:48:12 | 显示全部楼层
常德水鱼村 发表于 2023-8-8 21:43
点击创建后要选中桌面应用程序

那最佳答案可以给我吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-8 22:09:53 | 显示全部楼层
对于楼上这种不要脸行为,尽量不要给最佳答案

评分

参与人数 2荣誉 +10 鱼币 +5 贡献 +6 收起 理由
sfqxx + 5 + 5 + 3 同意
歌者文明清理员 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-8 22:48:32 | 显示全部楼层
liuhongrun2022 发表于 2023-8-8 22:09
对于楼上这种不要脸行为,尽量不要给最佳答案

Snipaste_2023-08-08_22-48-19.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-8 22:57:29 | 显示全部楼层    本楼为最佳答案   
如果自己解决了问题,可以编辑帖子将帖子分类改为已解决,另外这个问题很好发现,一般在windows编程中发现编译器出现无法解析的外部符号main时就要注意了,因为main是控制台程序的主函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-8 23:18:30 | 显示全部楼层
同意前3楼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-9 09:22:29 | 显示全部楼层
本帖最后由 wuliangtdi 于 2023-8-9 09:23 编辑
学习编程中的Ben 发表于 2023-8-8 21:48
那最佳答案可以给我吗?


什么"大聪明"?用GPT答,结果还是错的。人家为啥给你?没经过自己思考。思考了倒还好,只会依赖GPT
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-9 18:42:31 | 显示全部楼层
wuliangtdi 发表于 2023-8-9 09:22
什么"大聪明"?用GPT答,结果还是错的。人家为啥给你?没经过自己思考。思考了倒还好,只会依赖GPT{:10_ ...

也不光是他,现在这些人都用GPT了。这些人这么没自信。这样还能学到东西吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 18:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表