vc6编译远控教程 下载本文

内容发布更新时间 : 2024/5/3 7:05:27星期一 下面是文章的全部内容请认真阅读。

vc6编译通用远控的教程

一、搭建vc6编译环境 1、安装VC6.0。 2、安装VC6.0的SP6。 3、安装Visual_Assist_X。 4、安装MSDN。

5、用SDK更新包(如:637500_SDK更新包)的include和lib文件夹覆盖vc6.0安装目录下vc98目录下的同名文件夹。 二、可选安装

1、安装VC6.0的SDK2003并注册(若没有SDK更新包,需自己安装并注册) 1.1、第一种方式注册

选择\开始->程序->Microsoft Platform SDK February 2003->Visual Studio Registration->Register PSDK Directories with Visual Studio\进行注册。 2.2、第二种方式注册

打开Microsoft Visual C++ 6.0,选择\菜单项,在Directories选项卡里设置SDK的目录,如:C:\\Program Files\\Microsoft SDK\\include

2、安装XtremeToolkitPro,如:XtremeToolkitPro15.0.1ForVC.rar。也可以不用安装,直接使用XtremeToolkitPro已经编译好的库。

提示:若安装XtremeToolkitPro编译失败,则需要为vc6.0安装SP6。 三、常见编译错误

1、error C2065: '__in' : undeclared identifier。

1.1、原因分析:这是因为未定义'__in','__in'的定义在specstrings.h文件中,而specstrings.h文件在WDK(Windows Driver Kit)中(SDK更新包也有),安装好WDK后,specstrings.h路径有可能是:C:\\WinDDK\\7600.16385.1\\inc\\api。 1.2、解决方法1:

1.2.1:安装WDK,如:GRMWDK_EN_7600_1.iso

1.2.2:找到出错的文件,在文件前方添加语句:#include \。也可以在每个文件都需要引入的头文件中加入:#include \。

1.2.3:将specstrings.h所在目录添加到路径中:打开Microsoft Visual C++ 6.0 ,选择“Tools->Options”菜单项,切换到”Directories”选项卡,Directories下添加目录” C:\\WINDDK\\7600.16385.1\\INC\\API” 1.3、解决方法2:

找到出错文件的头文件,添加'__in'等空定义,示例语句如下: #define __bcount(size) #define __bcount_opt(size) #define __deref_bcount(size) #define __deref_bcount_opt(size) #define __deref_ecount(size) #define __deref_ecount_opt(size) #define __deref_in

#define __deref_in_bcount(size) #define __deref_in_bcount_opt(size) #define __deref_in_ecount(size) #define __deref_in_ecount_opt(size) #define __deref_in_opt #define __deref_inout

#define __deref_inout_bcount(size) #define __deref_inout_bcount_full(size) #define __deref_inout_bcount_full_opt(size) #define __deref_inout_bcount_opt(size) #define __deref_inout_bcount_part(size,length) #define __deref_inout_bcount_part_opt(size,length) #define __deref_inout_ecount(size) #define __deref_inout_ecount_full(size) #define __deref_inout_ecount_full_opt(size) #define __deref_inout_ecount_opt(size) #define __deref_inout_ecount_part(size,length) #define __deref_inout_ecount_part_opt(size,length) #define __deref_inout_opt #define __deref_opt_bcount(size)

#define __deref_opt_bcount_opt(size) #define __deref_opt_ecount(size) #define __deref_opt_ecount_opt(size) #define __deref_opt_in

#define __deref_opt_in_bcount(size) #define __deref_opt_in_bcount_opt(size) #define __deref_opt_in_ecount(size) #define __deref_opt_in_ecount_opt(size) #define __deref_opt_in_opt #define __deref_opt_inout

#define __deref_opt_inout_bcount(size) #define __deref_opt_inout_bcount_full(size) #define __deref_opt_inout_bcount_full_opt(size) #define __deref_opt_inout_bcount_opt(size) #define __deref_opt_inout_bcount_part(size,length) #define __deref_opt_inout_bcount_part_opt(size,length) #define __deref_opt_inout_ecount(size) #define __deref_opt_inout_ecount_full(size) #define __deref_opt_inout_ecount_full_opt(size) #define __deref_opt_inout_ecount_opt(size) #define __deref_opt_inout_ecount_part(size,length) #define __deref_opt_inout_ecount_part_opt(size,length) #define __deref_opt_inout_opt #define __deref_opt_out

#define __deref_opt_out_bcount(size) #define __deref_opt_out_bcount_full(size) #define __deref_opt_out_bcount_full_opt(size) #define __deref_opt_out_bcount_opt(size) #define __deref_opt_out_bcount_part(size,length) #define __deref_opt_out_bcount_part_opt(size,length) #define __deref_opt_out_ecount(size) #define __deref_opt_out_ecount_full(size)