一、vs 基础配置文件解析

一、vs 基础配置文件解析

.vcproj是工程文件,sln是解决方案文件。一个解决方案里面可以包含多个工程。

你打开vcproj文件编译不了可能是因为这个工程里面用到了同一个解决方案中其它工程的东西。

visual Studio.NET采用两种文件类型(.sln和.suo)来存储特定于解决方案的设置,它们总称为解决方案文件。为解决方案资源管理器提供显示管理文件的图形接口所需的信息
从而在每次继续开发任务时,不会因开发环境而分散精力; 

*.sln:(Visual Studio.Solution) 通过为环境提供对项目、项目项和解决方案项在磁盘上位置的引用,可将它们组织到解决方案中。 
比如是生成Debug模式,还是Release模式,是通用CPU还是专用的等 

*.suo: (solution user opertion) 解决方案用户选项记录所有将与解决方案建立关联的选项, 
以便在每次打开时,它都包含您所做的自定义设置。

.suo是solution user option的缩写,它是很重要的文件,它储存了用户界面的自定义配置,包括布局、断点和项目最后编译的而又没有关掉的文件(下次打开时用)等,以便于下一次你打开Visual Studio可以恢复这些设置,因此不要随便删除也无法删除,况且它们就是隐藏文件,所以不要管它们。 其实上面英文中解释已经很清楚了,要申明的是PDB中不带断点信息

 

二、vcproj简介

 

 

vcproj的具体格式为xml格式,其中包含三个主要的节:platform,configuration,Files

 

platform:描述的只是x64,x86等不同的平台。

configuration:描述的是编译和链接器的环境配置信息。可以通过vs08或者vs05的项目属性进行设置,也可以手动的进行设置。

Files:描述的是编译时需要的各种cpp,h文件,其中也会分节点,Filter描述的是目录,Files描述的是具体的文件。

 

三、用户自定义开发环境宏

    视图->属性管理器->用户宏

     例如$(IntDir)和$(OutDir)

下面的列表是对用户宏的解释

 

ConfigurationName配置名字,通常是Debug或者Release
IntDir编译器使用的中间目录,产出obj文件
OutDir链接器使用的输出目录
ProjectDir项目目录
ProjectName项目名字
SolutionDir解决方案目录
TargetDir目标输出文件所在的目录
TargetExt目标输出的扩展名
TargetFileName目标输出文件名,包括扩展名
TargetName目标输出名,不包括扩展名
TargetPath目标输出文件的全路径名

 

 

例子:

 

配置属性

             常规

                      输出目录:$(SolutionDir)$(Configuration)\

                      中间目录:$(Configuration)\ 

                      目标文件名:$(ProjectName)

                      目标文件扩展名:.exe

                      生成日志文件:$(IntDir)\$(MSBuildProjectName).log

            调试

                     命令:$(TargetPath),表示调试器要启动的exe全名,TargetPath就表示目标输出文件的全路径名,所以一般情况下它代表的值就等于“输出文件”属性代表的值

                     工作目录:$(ProjectDir)

 

 

VS 默认情况下会创建并使用预编译头文件(也就是自动创建 StdAfx.h 和 StdAfx.cpp 这两个文件),以便在编译时加快编译速度,预编译器将它编译后,会生成一个 Pre-compiled header ,也就是 pch 文件,这样下次就可以直接使用这里已经编译好了的代码了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值