VS工程项目相关文件讲解:7 工程文件vcxproj文件分析

8050 人浏览 | 时间: 2015-06-24 23:26:25 | 作者: codexia 会员文章,禁止转载

    工程文件vcxproj是将工程中的所有文件和配置信息都记录在一起形成整体的文件。这个文件只记录本工程的信息。对于工程来说,是非常重要的。这个文件在转移工程时,不要删除。这个文件是文本文件,也不占多少空间,却起了很大的作用。
    通常,启动sln文件是可以启动工程的,那是因为sln文件有工程文件的入口,sln是以解决方案的方式启动,而双击vcxproj文件,则是以工程的名义启动的,两者是有区别的。对于整个解决方案的配置,都是记录在sln文件中的,要了解sln,请阅读《VS工程项目相关文件讲解:sln文件分析》。然而,工程(项目)的配置信息则是记录在vcxproj文件中的。简单来看,工程的相关重要配置信息都在vcxproj中,不要随意删除。这也是为什么我们打开别人的项目,看项目配置时,一些设置已经设置好的原因。如果只是拷贝代码文件,这些信息就不见了。各种设置如果不对,就可能导致工程无法正常运行。这个在下载网上项目无法运行的情况很常见。
    因为VS各个版本不一样,工程文件中的内容格式不太一样,但是有一点可以确定,这个工程配置文件是XML格式的。我们可以通过修改后缀名为.xml,然后就可以使用浏览器打开查看。如果对xml文件和xml文件编程操作感兴趣,可以阅读《xml文件是什么》和《C++中使用XML文件:概述 》入门,还有相关文章,可以自己在相关文章栏目中找到。
    下面概要性的对工程文件vcxproj的内容进行说明。这里不便对每一个参数进行解释,因为每一个参数都涉及到很多信息,如果感兴趣,可以在网上查阅相关资料。大致基本内容如下:

工程配置:配置(Debug/Release)+平台全局属性:工程GUID + 工程名 + 工程类型
Debug配置:配置类型 + 是否使用调试库 + 工程字符编码 + 链接MFC库方式
Release配置:同Debug配置链接方式:是否增量链接(Debug/Release)
编译选项:是否使用预编译头、警报级别链接选项:链接的子系统、是否产生调试信息资源编译:本土化类型(让产生的资源与本机适配)编译时会包含的头文件列表、CPP文件列表和资源文件列表
     从以上可以看出,这些内容就是我们平常在项目配置中看到的东西,默认设置和手动设置后,会修改保存在工程文件中。文件中还包含了工程中使用到的所有文件,这样很方便将工程中的所有文件组织在一起,方便管理。
    下面简单对文件中的内容介绍一下。
    Debug和Release是两种模式,前者用于调试,生成的EXE或者dll包含了大量的调试信息,方便调试,因此生成的EXE也大一些。针对这两种模式,配置也是分两种对应的。
    全局的配置中,工程GUID与sln中的工程GUID是一致的,这样就将解决方案和工程一一对应起来了。
    工程字符编码,指的是,在代码中的_T("字符串")使用的是那种编码,然后使用这个工程字符编码来创建对应编码的字符串,如ANSCII或者Unicode等。
    增量编译,每次生成只编译修改的部分,以及修改相关依赖的部分。这样可以加快编译速度。
    警告级别,警告级别越高,检查的越仔细。警告级别最高时,局部变量定义后未使用都会提示等。通常使用默认的即可。
    其他的就不一一解释了,有兴趣的话,可以自己修改工程(项目)配置,来看看效果。步骤:项目 -> "项目名" 属性 -> 在弹出的属性页中,就是相关的配置信息。
当前文章为会员文章,请前往[用户中心]开通会员后继续阅读。

相关阅读