dsw, aps, clw, plg这些文件都可以删除。只保留 H,C,CPP,DSP,RC,剩余文件去除只读属性,其余全部删除。然后打开DSP 有提示选 YES,就可以了

*.dsp(DeveloperStudio Project):是VC++的工程配置文件,比如说你的工程包含哪个文件,你的编译选项是什么等等,编译的时候是按照.dsp的配置来的。
*.dsw(DeveloperStudio Workspace):是工作区文件,用来配置工程文件的。它可以指向一个或多个.dsp文件。
*.clw:是 ClassWizard信息文件,实际上是INI文件的格式,有兴趣可以研究一下.有时候ClassWizard出问题,手工修改CLW文件可以解决.如果此文件不存在的话,每次用ClassWizard的时候绘提示你是否重建。
*.opt:工程关于开发环境的参数文件,如工具条位置等信息。
*.aps:(AppStudio File),资源辅助文件,二进制格式,一般不用去管他。
*.rc:资源文件。在应用程序中经常要使用一些位图、菜单之类的资源, VC中以rc为扩展名的文件称为资源文件, 其中包含了应用程序中用到的所有的windows资源, 要指出的一点是rc文件可以直接在VC集成环境中以可视化的方法进行编辑和修改。
*.plg:是编译信息文件,编译时的error和warning信息文件(实际上是一个html文件,一般用处不大),在Tools->Options里面有个选项可以控制这个文件的生成。
*.hpj:(Help Project)是生成帮助文件的工程,用microsfot Help Compiler可以处理。
*.mdp:(Microsoft DevStudio Project)是旧版本的项目文件,如果要打开此文件的话,会提示你是否转换成新的DSP格式。
*.bsc:是用于浏览项目信息的,如果用Source Brower的话就必须有这个文件。如果不用这个功能的话,可以在Project Options里面去掉Generate Browse Info File,可以加快编译速度。
*.map:是执行文件的映像信息纪录文件,除非对系统底层非常熟悉,这个文件一般用不着。
*.pch:(Pre-Compiled File)是预编译文件,可以加快编译速度,但是文件非常大。
*.pdb:(Program Database)记录了程序有关的一些数据和调试信息,在调试的时候可能有用。
*.exp:只有在编译DLL的时候才会生成,记录了DLL文件中的一些信息。一般也没什么用。
*.ncb:无编译浏览文件(no compile browser)。当自动完成功能出问题时可以删除此文件,build后会自动生成。
*.c:源代码文件,按C语言用法编译处理。
*.cpp:源代码文件,按C++语法编译处理。
*.h是头文件,一般用作声明和全局定义。
*.sln:在开发环境中使用的解决方案文件。它将一个或多个项目的所有元素组织到单个的解决方案中。此文件存储在父项目目录中.解决方案文件,他是一个或多个.proj(项目文件)的集合。
*.vcproj 是vc的工程项目文件

.vcproj .sln 分别是VC2002以上工程文件和解决方案文件
.dsp .dsw 分别是VC6的工程文件和工程组文件

将VC7工程转换回VC6工程,换言之,就是将.sln/.vcproj这两个文件转换到.dsw/.dsp文件。

vc6打开dsp或dsw,vc2003,2005打开sln或vcproj

VC6打开*.dsw文件,单击工具栏上的"!",然后你的文件夹里多了一个DEBUG文件夹里面有.EXE文件

在vc7里面打开vc6的工程时,它会提示你是否转换成vc7的格式,转换后就可以直接使用了。转换后的工程,vc6就不认识了。

我使用vc.net 2003打开vc6的工程,提示要升级,我也选了yes   to   all  
  但是其实vc.net只是读取vc6的.dsw和.dsp中的信息并添加了.sln和.vcproj  
  用vc.net打开过的vc6工程   dsw和dsp都没有改变  
  所以用vc.net打开过的vc6工程   虽然已经被“升级”其实dsw和dsp并没有被改动  
  再打开时就不用dsw而用sln了   这点做得很好   只是从vc6的工程文件中读信息   并不改  
  照样可以用vc6打开原来的dsw和dsp

------------------------------------------------

每个sln都包含了一个到多个工程文件,c++工程文件的文件扩展名为vcproj,这回说一下vcproj的格式。

vcproj是一个标准的xml文件。因此以下就以节点顺序描述。

根节点是VisualStudioProject,属性中包含了工程的全局信息,常见的信息有: 属性
 含义
 说明
 
ProjectType
 工程类型
 默认值是Visual C++
 
Version
 版本
 默认值是7.10
 
Name
 工程名称
 
 
ProjectGUID
 工程的GUID
 
 
Keyword
 工程关键字
 默认值是Win32Proj
 
SccProjectName

SccAuxPath

SccLocalPath

SccProvider
 SourceSafe信息
 默认值是SAK

后面的Scc**属性,标志了此工程在SourceSafe中。手动将一个工程从SourceSafe中删除时,只要删除这四个属性就行。当它们的默认值是SAK时,可以在工程文件的同一个目录下找到一个文件mssccprj.scc,这里面包含了工程在SourceSafe中的信息,比如: SCC = This is a Source Code Control file

[PS.vcproj]

SCC_Aux_Path = "/code-servercode$"

SCC_Project_Name = "$/project/PS", IQIBAAAA

根节点下有三个子节点比较重要。Platforms很简单,表示平台内容,通常就是“Win32”;Configurations是编译和链接的配置信息;Files下包括的是工程中的文件信息。以下主要谈谈Configurations和Files。

Configurations包含了工程编译和链接等配置信息,其子节点是Configuration,由用户设定的编译类型决定,默认有Debug和Release两个子节点。Configuration的属性如下: 属性
 含义
 说明
 
Name
 编译选项名称
 Debug下通常为Debug|Win32
 
OutputDirectory
 目标文件输出路径
 默认为Debug
 
IntermediateDirectory
 编译信息输出路径
 默认为Debug
 
ConfigurationType
 工程类型
 1表示exe程序文件,2表示dll动态库文件,3表示lib静态库文件
 
UseOfMFC
 表示是否使用MFC
 0表示不使用MFC,1表示静态链接MFC,2表示动态链接MFC
 
CharacterSet
 表示编码类型
 1表示Unicode,2表示Ansi

Configuration的子节点全是Tool,每个子节点都有一个属性Name表示节点含义。这里面有两个子节点比较有用,一个是VCCLCompilerTool,表示编译信息,一个是VCLinkerTool,表示链接信息,其它的子节点用的不多。

VCCLCompilerTool的常用属性如下: 属性
 含义
 说明
 
Optimization
 优化选项
 可以为0、1、2、3、4
 
PreprocessorDefinitions
 预定义标记
 通常都是WIN32 _WINDOWS _DEBUG
 
MinimalRebuild
 是否使用最小编译
 设置为TRUE能节约编译时间
 
BasicRuntimeChecks
 运行时检测,包括栈和未初始化变量等
 默认为3
 
RuntimeLibrary
 程序运行时
 选择多(单)线程,(非)调试,DLL(EXE)类型
 
TreatWChar_tAsBuiltInType
 是否将wchar_t当作内置类型
 如果为FALSE,wchar_t被认为是unsigned short类型
 
ForceConformanceInForLoopScope
 if和for循环中声明的变量的作用范围是否在循环内
 7.1默认为FALSE,8.0默认为TRUE
 
UsePrecompiledHeader
 预定义头文件设置
 0表示不使用,1表示创建预定义头文件,2表示自动创建,3表示使用预定义头文件
 
PrecompiledHeaderThrough
 预定义头文件名
 通常都是stdafx.h,可以随意指定
 
PrecompiledHeaderFile
 预编译信息文件名
 默认为$(IntDir)/$(TargetName).pch
 
WarningLevel
 警告级别
 4
 
Detect64BitPortabilityProblems
 检测是否兼容64位程序
 FALSE
 
DebugInformationFormat
 调试信息格式
 Debug下通常设置为4,Release下可以设置为3

VCLinkerTool的常用属性如下: 属性
 含义
 说明
 
AdditionalDependencies
 依赖lib文件
 
 
OutputFile
 输出的目标文件
 默认$(OutDir)/$(ProjectName).exe
 
LinkIncremental
 增量编译
 2
 
AdditionalLibraryDirectories
 依赖lib的位置
 
 
GenerateDebugInformation
 是否生成调试信息
 通常都为TRUE
 
ProgramDatabaseFile
 调试信息文件名称
 $(IntDir)/$(ProjectName).pdb
 
SubSystem
 子系统
 1为控制台,2为Windows程序
 
ImportLibrary
 导入的lib文件
 默认$(IntDir)/$(ProjectName).lib

Files下包括的是工程中的文件信息,由Filter和File组成,Filter表示目录,File表示文件。每个cpp还可以包含一个子节点FileConfiguration,这个子节点表示此cpp文件编译时与全局编译选项不一致的内容,通常情况下除了预编译头文件外这不是必须的,预编译头则必须指定它的UsePrecompiledHeader信息为1,也就是由它来创建预定义头文件。

[转]VC工程文件说明相关推荐

  1. 使用python脚本批量修改vc工程文件

    作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 问题描述    vc工程文件中的很多属性设置,比如输出目录.中间目录和输出文件名等等.使用vs ...

  2. 将Qt工程文件转成VC工程文件的小工具

    自己机器上的插件导入功能坏掉了,遍寻不到解决方案,直接搞了个图形界面的小工具来转好了. 源代码见附件. 编译好的可以在此地址下载. http://dl.dropbox.com/u/3577927/Pr ...

  3. vc++6.0的工作空间/工作区是什么?工程 文件 工作区什么区别?

    问: vc++6.0的工作空间/工作区是什么? 工作空间应该是一个"目录",它包含了在它里面的工程.文件之类的信息.形象一点的,把工作空间比作一个房子,工作空间里面的工程(Proj ...

  4. 巧用VC工程下的rc文件

    巧用VC工程下的rc文件(发表时间: 2008-12-30 17:20:00) [评论] [打印] [字体:大 中 小] 本文链接:http://blog.pfan.cn/miaowei/40117. ...

  5. vc工程下的文件后缀解析

    http://www.vcerror.com ·  .sln:VS.NET方案文件.其中包含了项目中所有的工程文件信息(如项目列表.构建配置等),以及通过属性窗口访问全局构建设置. 它是一个文本文件, ...

  6. 如何打开sln文件并显示窗口_如何用VC 6.0 打开Sln的工程文件

    http://blog.csdn.net/zhongjling/article/details/8442173 如何用VC 6.0 打开Sln的工程文件?在解答这一问题之前,要弄清楚 DSW 文件与 ...

  7. VC++ 6.0多窗口打开多个.dsw工程文件时

    WIN10: 1.win+R---->输入 regedit,点击[确定]. 2.找到注册表中\HKEY_CLASSES_ROOT\dspfile\shell项 3.手动添加open项---> ...

  8. vs.net 中编译链接vc工程时的LNK171@mspdb140.dll错误处理

    使用vs2015,在开发vc工程,进行编译链接时,会出现一个错误: fatal error LNK1171: 无法加载 mspdb140.dll (错误代码: 127) 实际上,在vs的安装下,存在2 ...

  9. VS各种工程文件说明

    一.sln文件 .sln(Solution)解决方案文件,表示一个项目组,他通常包含一个项目中所有的工程文件信息. 二.suo文件 suo(Solution User Options)解决方案用户选项 ...

  10. VC语言文件正文分析器--支持格式常用文件格式

    Graccvs文件正文提取开发组件支持各种文件提取正文,为OA,ERP,CRM系统使用文件提供文件正文使用和搜索,支持常见各种文件格式".pdf", ".doc" ...

最新文章

  1. 利用3D打印构建衍射深度神经网络,可光速执行数字运算
  2. Tips - C++
  3. 没有必要对着手机的记事本来记录太多的东西:尝试一下许愿墙的模式吧
  4. python全栈工程_Python全栈工程师(编码)
  5. java数组的四个要素_Java零基础系列教程04Java数组
  6. 7-93 矩阵A乘以B (15 分)
  7. oracle 查询dbid,查看oracle 数据库的DBID
  8. Spring容器扩展机制
  9. 每天一个linux命令
  10. 【水果识别】基于matlab GUI苹果质量检测及分级系统【含Matlab源码 896期】
  11. 视频教程-网站建设-1小时学会建站,采用PHPWAMP搭建网站[全程实战]-PHP
  12. matlab:读取图像序列
  13. python 京东签到_Python实战—京东用户行为分析
  14. 50道MySQL面试题,掌握之后你将获得无上法力,一发不可收拾!
  15. 滴滴是互联网届“最失败的垄断者”?
  16. 蛙蛙推荐:蛙蛙教你文本聚类
  17. CameraCaptureSession
  18. python3.6安装包下载_Python 3.6.6安装教程(附安装包) | 我爱分享网
  19. 如何构建n*n二维矩阵并转变为一维一一对应矩阵
  20. 【Simulink教程案例13】基于QPSK的位同步simulink建模与仿真分析

热门文章

  1. accumulate
  2. Windows azure中公用云服务的两个虚机FTP的设置
  3. 移动端1px细线问题
  4. 神器--通过Workspaces来编辑本地文件
  5. Knockout.Js官网学习(event绑定、submit绑定)
  6. LeetCode 28. Implement strStr()
  7. string-indexOf、substring、split
  8. jQuery解决iframe高度自适应的一例代码
  9. Verizon:2013年数据破坏调查报告(DBIR)【更新版】
  10. 如何查询SID及根据SID反查对应的账户