现在的位置: 首页 > 综合 > 正文

VS2008工程转为VC6工程

2017年10月01日 ⁄ 综合 ⁄ 共 934字 ⁄ 字号 评论关闭

如果有VC6的工程,想转为VS2008的工程是很容易的。微软的编译器提供了从低级到高级的过度,直接用VS2008编译器打开dsw,VC6的工程文件就可以了。但是如果有一些VS2008工程下的程序,自己又很想使用VC6的编译运行环境,就不不太容易了。本人目前从事的工作都一直在用VS2008,但对VC6却一直情有独钟,因为它方便快捷,占用资源又少,很适合我编写一些测试程序。所以就在网上搜索,总结了一些方法。

前提是已经有个一个编译通过,运行没有问题的VS2008工程。

1、使用VC6编译器新建一个VC6的win32 Application工程,在后续选择中要选择空工程。

2、将VS2008工程的所有文件(注意:包括res资源文件夹)拷贝到新建的VC6工程目录下。

3、在刚才新建的VC6工程中,通过Project->Add To Project 功能, 将拷贝过来的VS2008工程文件都添加进来。

4、编译VC6工程,会出现很多错误。别着急,已经成功了一半。这些错误包括两种,一种就是因为VS2008和VC6在语法上略有差别,通过逐个修改,即可解决。

(注意:我在使用数组CArray时,遇到一些麻烦,在VS2008中,CArray<Type,&Type>,Type是不需要拷贝构造函数的,但是在VC6中就必须需要)

另一种是编译器设置,一般是这样的错误提示

error LNK2001: unresolved external symbol __endthreadex
error LNK2001: unresolved external symbol __beginthreadex

这时候可以有两种方法解决,都是在Project->setting中。

一是在General选项中,将Microsoft Foudation Classes列表选项中的Not using MFC换成Using MFC in a share dll。

二是在在C++选项中,在Category列表中选择code Generation 。并在Using run-time library选项列表中,将Debug single-Threaded改为Debug Multithreaded dll。

当然在默认是debug模式,在release模式中,也要进行相应的改变。

抱歉!评论已关闭.