在实际的企业项目,一个解决方案里面由几个项目组成:产生静态或者动态连接库的项目、测试用例、产生执行文件的项目、固然还有一些开源的第三方库等。此时,咱们须要对解决方案做必定的配置,使得解决方案结构清晰、井井有条,也便于项目维护和多人协做。学习
1、VS中项目设置中使用的宏:测试
SolutionDir --- 解决方案目录spa
ProjectDir --- 项目目录.net
ProjectName --- 项目名字调试
ConfigurationName --- 置名字,一般是Debug或者Releaseblog
IntDir --- 编译器使用的中间目录,产出obj文件事件
OutDir --- 连接器使用的输出目录开发
TargetDir目标输出文件所在的目录文档
TargetExt目标输出的扩展名get
TargetFileName目标输出文件名,包括扩展名
TargetName目标输出名,不包括扩展名
TargetPath目标输出文件的全路径名
2、下面是文件目录(例子)
Bin:程序文件(库文件和可执行文件等)
Doc:项目文档(需求分析文档等)
Include:库的头文件
Lib:解决方案中生成的库
Tmp:编译链接生成的中间临时文件(Complie、Link)
Vee:解决方案的源代码项目目录(库项目、可执行、第三方库)
3、具体宏配置
在配置项目属性的时候选择全部配置,这样不用Debug和Release都单独去配置。下面是详细配置
1--常规
输出目录:$(SolutionDir)..\Tmp\Link\$(ProjectName)\$(ConfigurationName)
中间目录:$(SolutionDir)..\Tmp\Compile\$(ProjectName)\$(ConfigurationName)
2--调试
命令:$(SolutionDir)..\Bin\$(ConfigurationName)\$(TargetFileName)
命令参数:(启动参数设置,例如:-d,127.0.0.1 2046等调试参数,地址端口等)
工做目录:$(SolutionDir)..\Bin\$(ConfigurationName)
3--H文件目录:项目——配置属性——C/C++——常规
在“附加包含目录”中加入H文件所在的文件夹$(SolutionDir)..\Include
--LIB目录:“项目——配置属性——连接器——常规”,
在“附加库目录”中加入LIB所在目录 "$(SolutionDir)..\Lib\$(ConfigurationName)
而后“连接器”中找到“输入”,在“附加依赖项”中加入VeSkin.lib
或用
#pragma comment(lib," VeSkin.lib")
4--链接器--常规
输出文件:$(OutDir)\$(ProjectName).dll
--链接器--高级
导入库:$(TargetDir)$(TargetName).lib
5--生成后事件:
copy $(TargetPath) $(SolutionDir)..\Bin\$(ConfigurationName)\;
copy $(TargetDir)$(TargetName).lib $(SolutionDir)..\Bin\$(ConfigurationName)\;
copy $(TargetPath) $(SolutionDir)..\Lib\$(ConfigurationName)\;
copy $(TargetDir)$(TargetName).lib $(SolutionDir)..\Lib\$(ConfigurationName)\;
注:在协同开发过程当中,拷贝工程到新的电脑或者从SVNcheck下来的工程,本地的Vs会从新生成一个我的设置文件B文件(Vee.vcproj.机器名B.用户名B.user),这个文件和以前A文件(Vee.vcproj.机器名A.用户名A.user)是不同的。同步的方法是,关闭Vs,删除新生成的B文件,把A文件改为(Vee.vcproj.user),而后从新打开Vs既能够同步了。
好久在这里就注册了。忽然以为本身也应该学习写文章,慢慢开始经营本身的博客。