将VS2003的C++项目转换为CFree 5.0的项目实践总结

这几天因为辞职了,在家里没有事情干,便开始看看C++的东西。当然了,看看也是需要实践的。而我面临的第一个问题就是需要调试,运行那些书中附带的源代码了。通过观察源代码的工程文件,我发现了这样一行文字 - “Microsoft Visual Studio Solution File, Format Version 7.00”  说明这个应该是Visual Studio 2003的项目。但是我自己已经在自己的笔记本上安装了VS2010和C-Free。刚开始一想到就是将VS2003的项目转换为VS2010的项目,可能是第一次接触VS2003转换为VS2010的项目,对这个转换和配置不了解的原因吧,转换后运行报了很多的错误,而我又没有办法解决。只好尝试另外一条路--用C-Free来转换这些VS2003的项目。

首先打开C-Free 5.0,选择工具菜单中的“工程转换”选项,如下图所示:

2011-03-10_123823

弹出下面的窗口:

QQ截图未命名

在工程类型中我已经选好了MS Visual Studio 2003/2005/2008Project的项目类型,然后找到需要转换的项目文件(也就是书中附带的用VS2003做的项目)。选择好项目文件之后点击“转换”按钮。等待项目转换成功之后,会弹出下面的对话框,问你是否需要现在打开此工程:

QQ截图未命名2

点击确定,打开此工程。在打开工程之后,C-Free会自动询问你是否现在设置Include路径。点确定或者取消都行。如果点取消的话,稍后可以在“工程”的子菜单的“设置”里面设置。在这里我以点击“确定”为例子来做演示。

QQ截图未命名3

点击“确定”之后,会弹出让你选择编辑器的对话框,如下图所示:

QQ截图未命名5

在这里,我就不用这些C-Free自动探测到的SDK或者编译器了。我自己来选择路径。因此点击“取消”。如图所示:

QQ截图未命名6

现在正式来配置编译器的路径,首先是Include的路径,经过自己的一番摸索,我找到的Include路径主要有以下几个:

C:\Program Files\Microsoft Visual Studio 10.0\VC\include
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include
C:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include

选择好之后如下图所示:

QQ截图未命名7

(** 在这里需要注意的是,我用的Windows SDK和VS2010的编译器全部是采用默认的安装路径,也就是说我在安装VS2010的时候全部是按照默认的方式安装的)

再来配置Library Files,经过探索,我找到的Library Files的路径为:

C:\Program Files\Microsoft Visual Studio 10.0\VC\lib
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib
C:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\lib

配置好之后如下所示:

QQ截图未命名8

最后来配置Executable Files文件的路径,经过探索,我找到的Executable Files的路径为:

C:\Program Files\Microsoft Visual Studio 10.0\VC\bin
C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin

配置好之后,如下图所示:

QQ截图未命名9

配置好这些之后,还需要做三件事情,

第一个修改编译器的参数,如下图所示,需要将其中的原始参数中的/Wp64删掉,否则在编译的时候会有警告。究其原因,我认为应该是微软对VS2010的编译器做了修改,调整了编译器参数的缘故。

QQ截图未命名10

第二件事,需要将这个配置做一下保存,免得下次转换其他的项目时还需要进行一次这样的操作,减少劳动力消耗。操作步骤如下:

QQ截图未命名11

将其中的配置另存为一下就行了。

第三件事请,需要修改此工程头文件中的stdafx.h文件:

将类似下面的内容中的0x0400 改成0x0501(我猜这个应该和编译器以及操作系统的版本已经IE的版本有关。我的操作系统是WIndows 7的,编译器配置的是V7.0A的,IE版本是8.0的)

// 如果您必须使用下列所指定的平台之前的平台,则修改下面的定义。
// 有关不同平台的相应值的最新信息,请参考 MSDN。
#ifndef WINVER                // 允许使用 Windows 95 和 Windows NT 4 或更高版本的特定功能。
#define WINVER 0x0400        //为 Windows98 和 Windows 2000 及更新版本改变为适当的值。
#endif

好了,做好了上面的工作之后,就可以将以个VS2003的项目更改为C-Free的项目了,用C-Free来对这个项目进行修改编辑编译运行了。

最后总结一下,其实虽说使用C-Free打开了这个项目,但最后真正用的编译器来编译这个项目的还是用的是微软的编译器,只是更改了C-Free默认的编译器而已。

原文地址:https://www.cnblogs.com/liszt/p/1979715.html