有个老外以前写过这么一个工具,以前用过,很好用,就是读入VC.net的工程文件然后转换为VC6.0
工程文件的一个工具,我需要将一些VC.net2003的代码移植回VC6.0去。现在这个工具手边找不到了。
那位有给一个。

解决方案 »

  1.   

    http://www.codeproject.com/KB/applications/prjconverter.aspx
      

  2.   

    vc2003是VC7.1,好像还没见过转换成6.0的工具啊。
      

  3.   

    一、简介
    这个工具自动将VC7工程转换回VC6工程,换言之,就是将.sln/.vcproj这两个文件转换到.dsw/.dsp文件。
    注意:本转换器在转换期间只是建立(或覆盖).dsw/.dsp文件,并没有改变任何源代码。二、由来
    首先当然是MS并没有提供这样的工具,MS在出售开发工具时并没有提供工程回退的转换功能使你感到很伤脑筋,甚至开始憎恨MS。
    没有这样的工具,虽然你可以通过重建工程来凑合,但浪费时间并容易带来错误。事实上,在如下情形时这个工具是很有用的:    * 有人给你VC7工程,但你只安装了VC6
        * 你将工程从VC6升级到VC7,在你的目录下同时存在.dsw/.dsp和.sln/.vcproj文件,并且你希望保持这几个文件的同步,使你在不需要使用两个版本VC++的情况下任何时候都可以打开这个工程开始工作。
        * 提供两个版本的工程(例如你在CodeProject中共享你的代码时),而不用担心读者使用的是哪个版本的开发工具。三、如何使用
    命令行形式:prjconverter <solutionname (full filepath)>[.sln]例如:prjconverter c:\tmp\betterxml\betterxml.sln可以在命令行键入prjconverter.exe获取更多信息四、转换了什么
    简单的几步就可以清楚这是如何工作的,打开.sln解决方案文件并转换到.dsw文件格式,包括所有的工程定义,依存信息和源代码控制标记。然后,所有.vcproj工程文件转换为.dsp文件,我使用MSXML来解析.vcproj文件格式,另外创建元模型( meta-model),然后将所有XML内容转换到标准的.dsp符号行。当然,我们要小心处理项目中的配置(debug,release,...),还有自定义的配置。五、技术细节
    代码中slnprocess.cpp完成从.sln到.dsw的转换。vcprojprocess.cpp完成从.vcproj到.dsp的转换。
    vcprojconfiguration.cpp包含了所有工程元模型(meta-model)(即所有工程设置选项)。在VC7中元模型是可编程的。具体可以查看此链接http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcext/html/vcoriVisualCExtensibilityObjectModel.asp ,事实上vcprojconfiguration.cpp就是展现了这种元模型(meta-model,就像MS的内部代码)六、申明
    这个工具在发布之前已经经过广泛的测试(MFC/COM/ATL/控制台程序,make文件,...),虽然我希望知道是否有可以改进的地方,但我必须清楚地申明如果你的工程被该工具破坏并不是我的错。下载地址:
    http://www.vckbase.com/document/viewdoc/?id=1034
      

  4.   

    对,就是这个prjconverter,我用过,挺方便的。直接转换成dsw文件,虽然有些小问题,不过无关紧要。
      

  5.   


    cmd下
    cl /c  xx.c
    link xx.obj
    就可以编译了
    记得先把VC6的编译器cl.exe和link.exe存放的路径加到环境变量里就行了
      

  6.   

    谢谢。1楼就是我要的。这不是奇怪的需求,我有很多用VC2003.net编写的代码,都需要转到VC6下面的。
    这样做的好处之一是共享MFC库方式的情况下,所有XP版本都支持,VC7.1版的运行库不是所有XP都带。
      

  7.   

    YES, 兼容是第一位的 : )