工程配置说明
- Tips: 最近在整理项目的一些东西,刚好碰上了今天移植一个小的项目,遇到的环境不一致导致编译通不过的问题,借此梳理一下,也刚好是新人时期经常性遇到的一些问题,在次做个总结记录;(仅个人理解,若有不对,欢迎指正!)
1、工程的项目配置
该项目是一个八个工程 的小型多工程qt项目,开发环境是Visual studio 2010+qt4.8.6,在windows环境下开发的一个桌面端工具,编译版本为win32平台的release版;
1.1、工程的属性页介绍
以Common工程为例,选中该工程,右键单击-属性,展示左图界面,下面将重点介绍比较重要的几个配置项;
1.1.1 配置属性的"常规"
a、输出目录:…\…\…\lib(这里是两个点)
【说明】:输出目录就是该工程编译后生成的相关库文件的存放位置;lib是个文件夹目录,一般用来存放项目工程生成的库文件,详细说明参考前两篇博客,为什么是“…“?这个是指配置的相对路径;一般这个地方有三种配置的方法,一是配置的宏,这里是宏其实就是系统默认的某个路径或者配置、二是配置的相对路径,也就是我示例的路径,这里”…\“是针对于工程项目文件(xxx.vcxproj)所在位置,”…“就是指代项目文件是上一级目录,这里面有三个”…\“就说明是上三级目录,然后指到lib目录下、三是绝对路径,就你直接拷贝某个目录的绝对路径,例如“D:\svn\项目\pro_v562_branch1\lib”(非常不建议这样玩,不然只能你自己跑的动这个项目!!!别人一移植就是灾难);总结,归根结底就是设置个存放库文件的路径,让开发环境知道给你生成的文件放在哪儿就行;
b、中间目录:…\…\…\template\obj\common
c、目标文件名:COMMON
d、目标文件扩展名:dll
[说明:] 这个就是你希望工具给你生成的目标文件是啥,比如这个工程是想生成动态库文件,目标文件扩展名为.dll,静态库就是.lib,可执行程序就是.exe;一般要和下面的配置类型相匹配;
e、配置类型
[说明:]这个就和上面的d对应,动态库、静态库,应用程序等,对应就好;
1.1.2 配置属性的调试项
【说明】:
a、命令 (Command):
指定在调试会话开始时执行的可执行文件的路径。对于Qt项目,这通常是你的应用程序的可执行文件。
b、命令参数 (Command Arguments):
指定传递给应用程序的命令行参数。这些参数可以在应用程序启动时使用。
c、工作目录 (Working Directory):
指定应用程序启动时的当前目录。这通常是应用程序的根目录或包含资源文件的目录。
d、环境 (Environment):
允许你添加或修改应用程序的环境变量。这对于设置路径或配置特定的环境设置非常有用。
e、调试器类型 (Debugger Type):
指定要使用的调试器类型,如自动、本机、混合或仅限脚本。对于Qt项目,通常使用“自动”或“本机”。
1.2c/c++
【说明】:这里主要是和代码相关的配置;
1.2.1 常规
【说明】:主要介绍的是附加包含目录,这里设置你项目工程头文件的查找位置;一般的有两种,一种是qt自带的头文件,这种就默认配置系统环境变量(之前安装qt时配置的),第二种就是自定义的头文件,这种就是按相对路径去读取;
1.3 链接器
【说明】:这里主要设置工程库文件的输出和输入,比较重要的几项设置包括"常规"和"输入";
1.3.1 常规
【说明】:
- 输出文件:这就是你编译生成的动态库文件的存放目录;
- 附加库文件:你编译工程需要依赖的其它库文件的路径,$(QTDIR)\lib,是qt的系统库路径,例如你用到的Qt里面的xml,network等库,路径就是从这里获取的,"…\lib"这是你自己存放头文件的目录;
1.3.2 输入
【说明】:附加依赖项这里填的就是你依赖的库的名字,在1.3.1里面的常规已经定义了工具依赖库的路径,那么具体依赖哪个库就从这里面找,所以这里直接填写你需要依赖库的名字即可;
1.4 生成事件
【说明】:这里主要是配置项目编译生成的一些属性;
1.4.1 后期生成事件
【说明】:这就是把你生成的动态库文件,拷贝一份到可执行程序.exe的同级目录下;
windows环境下,移植他人项目大部分的设置与以上几项相关,下篇将讲述一下一些常见问题与这几项设置之间的关系;