window程序设计源码编译错误解决方法

Fortran 命令行编译 IVF win7 Intel(R) Visual Fortran Compiler Professional for applications running on IA-32, Version 11.0.061简单的测试函数如下:保存为exo701.f90 ()! Free Formatprogram mainwrite(*,*) "Hello" ! 这也是注解write(*,*) &"Hello"wr&&ite(*,*) "Hello"end==================================命令行批处理 阅读详情

看windows程序设计(第五版),前几章我用的编译器是dev C++。编译书上的源码各种报错。到后面的几章,有了rc资源文件,有的编译错误都不知道怎么改,真的是非常蛋疼,只能换编译器。
这里我先把源码的下载地址发一下,有需要的人可以下载Programming Windows 5th edition source code

处理源码的编译错误,主要有两种解决方案。
1.可以自己装个VC 6.0,新建一个项目,然后把相关的文件添加到这个工程
2.也可以使用比较新的编译器,比如Visual Studio 2017.稍微改一下项目的属性,也可以运行

VC 6.0

这里介绍一下,如何用VC 6.0来使用书上的源码
我们以第11章中的About1举例。
(1)打开vc6.0,按下ctrl n 新建工程,选择win32 Application,输入项目名称,这里我填的是About1。 点击确定vc1
(2)项目创建后,点击FileView视图,单击About1 files左边的小加号
vc2
(3)我们打开下载的源码文件夹,找到第11章的About1。文件夹中主要就是三个文件比较重要,.c源文件,.rc资源文件,.h头文件。我们接下来准备导入这三个文件
vc3
(4)在Source Files文件夹上右击,选择Add Files to Folder
vc4
(5)找到源码文件中的.c文件添加。点击确定。
vc5
(6)再在Header Files上右击,选择Add Files to Folder。
vc6
(7)找到.h文件添加。点击确定。
vc7
(8)在Resource Files上右击,选择Add Files to Folder。
vc8
(9)找到.rc文件添加。点击确定。vc9
(10)最后,我们在双击打开Source Files文件夹下的About1.c文件,编译运行就行了。程序是可以正常运行的
vc10

Visual Studio 2017

这里介绍一下,怎么用visual Studio 2017消除书上源码的编译错误(估计vs 2019的处理方法也差不多)
我们以第11章中的About1举例。

无法找到V142的生成工具

(1)我们打开文件夹,双击打开.sln文件
vs1
(2)打开工程文件后,我们看到输出栏里说,无法找到V142的生成工具。如下图vs2
(3)我们接下来来解决这个问题。首先右击About1这个项目,在弹出来的菜单中选择属性
vs3
(4)在弹出来的项目属性页中,找到配置属性下常规,再找到平台工具集这个选项vs4
(5)点击平台工具集,选择一个你安装过的平台工具集就行。我这里是Visual Studio 2017 (v141)
vs5

无法找到相应的windows SDK版本8.1

(6)然后再点击应用。
我们运行一下程序(按下F5),发现它又报了新的错误,无法找到相应的windows SDK版本8.1
vs6
(7)依然是右击About1这个项目,在弹出来的菜单中选择属性vs7
(8)找到配置属性下的常规,再找到Windows SDK版本这个选项vs8
(9)点击Windows SDK版本,选择一个版本,我的操作系统是win10。所以版本都是10.0
上面两个都可以用,随便选一个就行了
vs9

无法打开头文件afxres.h

(10)点击应用
我们再次运行一下程序(按下f5),发现它又报了新的错误,不能打开头文件afxres.h
vs10
(11)我们点击资源视图vs11
(12)在资源视图中,双击资源vs12
(13)在展开的文件中,双击.rc文件vs13
(14)Visual studio已经帮我们找到了错误,这里错误是在About.rc第10行上(红框中已经框了出来),在弹出的对话框中选择编辑代码vs14
(15)找到第十行,把afxres.h改成winres.h
vs15
(16)保存。再次运行程序,就可以使用了。vs16

===================================================================================
注意事项:
(1)源文件工程中,没有资源文件。如果使用的是vc6.0。那添加资源文件的那一步,就不用做了。如果使用的是vs 2017,那么程序应该在第二步完成后,就可以运行。(更改头文件名称的那一步就不用做了)

(2)为什么使用vs 2017打开源文件的时候,只需要打开.sln工程文件,vc6.0就只能新建一个工程,vc6.0不能直接打开.sln工程文件吗.
Vc6.0不能直接打开.sln工程文件。.sln文件是由vc++ .net 2003以上版本创建的,它的项目文件是.vcproj(相当于vc6的.dsp),解决方案文件是.sln(相当于vc6的.dsw)。Vc6.0的版本太老,打不开.sln文件。相关的具体介绍可以看这个如何用VC 6.0 打开Sln的工程文件

(3)使用vc6.0运行源码的时候,虽然我们创建了一个新的工程,但是不要删除源码文件夹(即programming-windows-5th-edition-master那个文件夹)。我们在工程中添加的文件实际上还是保存在原来的位置上,如果删除了源码文件夹,编译器就会报错,说找不到指定文件.

C语言Windows程序设计 - 【第一个属于自己的窗口】! ☺创建属于自己的窗口 ================== ۞创建窗口前的准备 在创建窗口前我们先来熟悉几个名词,这些名词现在可以暂时不去透彻的进行理解,只需要印象中知道有这么回事就行。 1>.窗口   "窗口"这个我们都已经十分熟悉了,在Windows中,一个应用程序窗口上一般会在标题栏上显示程序的名称,紧挨着标题栏的菜单栏,或许还会有状态栏、滚动条等其他"装饰品"... 阅读详情

相关推荐

【Unity】 基础入门 编译错误排查与调试方法

一、常见编译错误原因 1、环境问题;2、代码命名问题 二、代码调试方法 1、基础调试方法;2、高级玩法;3、unity调试工具插件

灵境引路人 4708

你写的代码编译时是否经常报错?来看看这篇文章帮你解决大部分问题。(Java中的异常)

目录 异常的概念与体系结构 概念 常见的异常 异常的体系结构 异常的分类 异常的处理 防御式编程 异常的抛出 异常的捕获 异常声明(使用关键字throws) try-catch捕获处理 关键字finally 异常的处理流程 异常的概念与体系结构 概念 异常简单理解就是不正常,Java中的异常就是程序在执行过程中出现不正常的行为称之为异常 常见的异常 1. 算数异常(常见的是除数为0) System.out.println(10/0); //执行结果: Exc...

X_H学Java的博客 2052

Windows程序设计珍藏版源码指南

Windows程序设计是指开发运行在Windows操作系统上的软件应用。它利用Windows提供的应用程序接口(API)来实现软件与操作系统之间的通信。本章将概述Windows程序设计的基本概念、开发环境和核心组件,为深入学习Windows API和程序设计打下坚实的基础。Windows API(Application Programming Interface)是Windows操作系统提供的编程接口集合,允许开发者编写能够控制Windows系统行为的应用程序。

weixin_36483050的博客 489

Error:java: Compilation failed: internal java compiler error异常的正确解决方法,亲测有效,嘿嘿嘿

`Error:java: Compilation failed: internal java compiler error` 这个错误通常表明 Java 编译器在编译过程中遇到了一个内部错误,这可能是由于多种原因造成的,包括但不限于编译器本身的bug、系统资源不足、编译参数错误、类路径问题或者JDK版本不兼容等。 ### 问题分析 1. **编译器Bug**:Java编译器(如`javac`)可能存在已知的或未知的bug,这些bug可能导致内部错误。 2. **系统资源**:如果系统资源(如内存、CPU

PythonAigc的博客 3924

Windows图形编程实践:源码解读与应用

Windows图形编程是指在Windows操作系统平台上,利用Windows提供的图形和窗口接口进行应用程序开发的一种编程方式。通过这种方式,开发者可以创建窗口,处理用户输入,绘制图形,以及实现更复杂的图形用户界面。窗口类是定义窗口外观和行为的一个重要概念。在创建窗口之前,必须先定义一个窗口类并将其注册给系统。以下是定义和注册窗口类的基本步骤:// 窗口类结构体定义// 窗口过程函数声明// 注册窗口类// 获取窗口类的大小// 设置窗口类的属性。

weixin_29041443的博客 878

运维与软件实施课表

运维与软件实施课表 课程 章节编号 章节 课程地址 软件及操作系统基础 ch01 软件及操作系统基础01 实施、运维工程师基本技能:https://blog.csdn.net/qq_28189423/article/details/82700539 老毛桃制作winPE镜像:https://blog.csdn.net/qq_2818942...

Mr.O~的博客 1万+

常见的编译时异常(运行时异常)及其处理

在Java编程中,异常处理是确保程序健壮性和错误处理的重要部分。虽然编译时异常(通常指的是检查型异常,checked exceptions)需要在编译阶段进行捕获或声明抛出,但更常见的是运行时异常(unchecked exceptions),它们通常是由于程序运行时的错误条件导致的。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 6316

车载与安防项目实战:如何用RK3588搭配NVP6158C实现4路AHD摄像头BT1120接入与同步预览

本文详细解析了基于RK3588处理器与NVP6158C解码芯片实现4路AHD摄像头BT1120接入与同步预览的技术方案。针对车载环视和安防监控场景,重点探讨了硬件架构设计、BT1120接口配置、多路同步机制及Android HAL适配等核心问题,提供了从底层驱动到上层应用的完整实现路径,为相关领域的工程实践提供可靠参考。

weixin_30571465的博客 484

windows程序设计 第九章 ENVIRON.C中的一个问题

#include #define ID_LISTBOX 1 #define ID_TEXTBOX 2 LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdSh

iloveyn2000的专栏 1110

UE4游戏开发:GameInstance与GameMode的实战应用与避坑指南

本文深入解析了UE4中GameInstance与GameMode的核心差异与实战应用。GameInstance作为贯穿游戏进程的全局单例,负责跨关卡数据持久化与系统管理;而GameMode则定义特定关卡内的游戏规则与逻辑,随关卡加载销毁。文章通过数据存储、动态模式切换及网络游戏等场景,提供了清晰的应用指南与常见避坑方案,帮助开发者构建更健壮的UE4游戏架构。

kubernetes8ctl的博客 230

ESP32S3新手避坑:用IDF5.0驱动GT911触摸屏,我踩过的三个雷都给你填平了

本文详细解析了在ESP32S3开发板上使用IDF5.0驱动GT911触摸屏时常见的三大问题:软重启失效、状态寄存器读取异常和初始化参数差异。通过逻辑分析和硬件调试工具,提供了针对性的解决方案和优化建议,帮助开发者高效完成触摸屏驱动开发。

weixin_42567497的博客 297

___CxxFrameHandler3、@__security_check_cookie编译报错的解决

转载请标明是引用于 http://blog.csdn.net/chenyujing1234  欢迎大家拍砖!   一、问题描述 最近在用DDK编译>源码的Chap6时,编译器报以下错误: 1>正在生成代码... 1>正在链接... 1>LINK : warning LNK4010: 子系统版本号 4.00 无效;假定为默认子系统版本 1>Driver.obj : error LNK

chenyujing1234的专栏 9221

LPDDR4协议规范之 (四)命令和时序

LPDDR4协议规范之 (四)命令和时序命令真值表激活操作读写访问操作读前沿和后沿突发读取操作流程读操作时序写前沿和后沿突发写操作写入均衡(待更新) 命令真值表 激活操作 ACTIVATE命令由两个连续命令组成,Activate-1命令和Activate-2。通过在(Activate-1)时钟的第一个上升沿保持CS HIGH,CA0 HIGH和CA1 LOW来发出Activate-1命令,通过...

YJFeiii的博客 2万+

VS201 LINK2001 ___CxxFrameHandler3、@__security_check_cookie编译报错的解决

一、问题描述 最近在用DDK编译>源码的Chap6时,编译器报以下错误: [plain] view plaincopy 1>正在生成代码...   1>正在链接...   1>LINK : warning LNK4010: 子系统版本号 4.00 无效;假定为默认子系统版本   1>Driver.obj : error LNK2019: 无法

jinguniang的博客 2652

多传感器标定:如何统一摄像头、雷达与IMU坐标?

多传感器标定:如何统一摄像头、雷达与IMU坐标?​ ,人工智能,计算机视觉,大模型,AI,本文详细阐述多传感器标定中统一摄像头、雷达与 IMU 坐标的方法。先介绍传感器坐标系统、坐标统一必要性及变换数学基础,再分述摄像头与雷达、IMU 与摄像头、IMU 与雷达的标定原理、步骤、参数计算及结果验证,还讲解了多传感器坐标统一的整体流程,分析了标定常见问题及解决办法,介绍了常用标定工具,结合实际案例说明应用,探讨了标定精度的影响因素、提升方法及发展趋势,为相关领域提供了全面的多传感器标定指导。​

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 12万+

Android 13 SPRD 源码默认打开多用户实际无效果问题修复

【代码】Android 13 SPRD 源码默认打开多用户实际无效果问题修复。

m0_60898338的博客 449

php zip.so 编译出错,php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法...

本文实例讲述了php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法。分享给大家供大家参考。具体如下:ZipArchive是php自带的一个压缩与解压缩函数了,今天理所当然的情况中使用new ZipArchive来创建zip文件时碰到提示Fatal error: Class ZipArchive not found in错误...

weixin_39908948的博客 686

配置适合Gurobi的机器硬件环境需要考虑的因素

介绍了在为gurobi选择合适的硬件环境时,需要考虑三个方面的因素;

Linshaodan520的博客 1064

Windows环境下的C程序设计环境

Windows环境下的C程序设计环境 Note: Return to tutorial view. MS Visual Studio 2005, GCC/GDB/MINGW, VIM/SciTE/PSPAD/使用配置初步教程

fandelei的专栏 3157

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

在Window是中使用Qt Crreator编译安装Qwt-5.2.0

在Window是中使用Qt Crreator编译安装Qwt-5.2.0程序设计 2010-02-12 07:32:34 阅读94 评论0 字号:大中小 引自:http://www.qtcn.org/bbs/read.php?tid=25662       首先安装QT SDK,官方网站提供的SDK包括了QT Creator,所以只需下载SDK的二进制安装包即可。安装方法与普通Win

dongliqiang2006的专栏 3802

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

windows下visual studio编译问题记录

visual studio问题记录

诺有缸的高飞鸟的博客 493

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

支持插件的程序设计

转载的地址:http://blog.csdn.net/jimmy54/article/details/5367882 支持插件的程序设计     继续转一篇以前的帖子 01-23-2007   支持插件的程序设计 作者:dorainm 看到很多软件,尤其老外的,大型软件,异常支持插件功能 主程序简洁了不说

长歌行 1134

第2章 Java程序设计环境

第2章 Java程序设计环境 2.1 安装Java开发工具包 2.1.1 下载JDK JDK and JRE JDK 是 Java Development Kit 的缩写 还有一个术语是 Java 运行时环境( JRE), 它包含虚拟机,但不包含编译器。 为什么有J2SE之类 当时Sun公司的销售人员感觉增加小数点后面的数值改,变版本号并没有反映出JDK 1.2 的重大改进。 因此,就有了 Java 2 Standard Edition Software Development Kit ( Java

silencefly的博客 392

Windows程序设计[之]Unicode 简介

MARK : Windows 程序设计 1.双字节字符集和Unicode的区别: 双字节其实只是ASCII的扩展,用扩展出来的代码表示其他的非ASCII字符;Unicode则不同,在Unicode中,ASCII中的字符也是用两个字节表示的,它是一个完整的字符集,不像双字节字符集那样只是一个ASCII的扩展。 2.char的数据形态 char c = 'A';   //变量C需要用一

冷月宫主的专栏 818

交叉编译器

交叉编译器 百科名片 编译器就是将“高级语言”翻译为“机器语言(低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 汇编程序 (assembler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (ex

jfkidear的专栏 1462
上一篇: ssd m.2接口详解
下一篇: 简易的整人病毒(c语言实现)
cookie_plus
博客等级 码龄7年 52粉丝 13原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值