VC工程的文件管理设置

也许你已经习惯了VS默认的工程文件保存路径,但有些人希望工程的源文件和生成文件能按照自己的安排对号入座,方便管理。例如希望把所有的*.h文件放入include文件夹,.cpp文件放入source文件夹,.lib文件放入lib文件夹,把大量的中间文件丢进TEMP等等。

下面是我自己习惯的一个动态链接库的配置:

 

VS2008+SP1

首先解决方案配置设置4个

(当然这个根据你自己需求,如果库没有用到TCHAR之类的宏,那么一般定义Debug和Release就OK拉。)

Debug

Release

Unicode_Debug

Unicode_Release

 

 

四个配置的公共设置是

配置属性->常规->输出目录:$(SolutionDir)Temp/Link/$(ProjectName)/$(ConfigurationName)/

配置属性->常规->中间目录:$(SolutionDir)Temp/Compile/$(ProjectName)/$(ConfigurationName)/

当编译时候以上文件目录会自动生成。

配置属性->常规->配置类型:这个当然都必须选择一样的啦,这里的示例为动态链接库(.dll)

配置属性->连接器->高级->导入库:$(TargetDir)$(TargetName).lib

配置属性->生成事件->生成后事件->命令行:

copy $(TargetPath) $(ProjectDir)Bin/;

copy $(TargetDir)$(TargetName).lib $(ProjectDir)Bin/;

copy $(ProjectDir)include/I$(ProjectName).h $(ProjectDir)Bin/;

Bin文件夹得自己生成哦。I$(ProjectName).h这个是接口的头文件了,方便C++调用哈。

如果有def文件,

配置属性->连接器->输入->模块定义文件:source/mc_log.def

注意def文件中千万别定义LIBRARY,否则所有的lib文件都将导入该定义名的dll文件,会出现几个媳妇抢老公的场面。

预编译头实际上是个好东东,可以缩短编译时间

配置属性->C/C++->预编译头->创建预编译头:(/Yc)

使用 /Yc 创建预编译头。与可选的 hdrstop 杂注一起使用时,/Yc 允许对头文件和源代码都进行预编译。选择 /Yu 在现有编译中使用现有预编译头。还可以将 /Fp 与 /Yc 和 /Yu 选项结合使用,为预编译头提供其他名称。否则会出现fatal error C1083: Cannot open precompiled header file: 'XXX.pch': No such file or directory的错误

配置属性->C/C++->预编译头->通过文件创建PCH:../include/stdafx.h

如果用编译头,那么必须把所有.cpp文件放到同一个文件夹,这样才能保证大家都能使用同一个#include "../include/stdafx.h"。

至于stdafx.h叫什么,放什么位置都无所谓了。

配置属性->C/C++->预编译头->预编译头文件:$(IntDir)$(TargetName).pch

这里采用默认的中间路径产生目标文件名称的pch文件。

 

 

Debug和Unicode_Debug的公共设置:

如果是多系统可以比如WIN32;或者你想要不同化版本,可以在这里多设置几个啦比如VERSION1;在代码判断宏就知道是哪个版本啦。

配置属性->C/C++->代码生成->运行库:/MDd

因为默认是/MT,表示使用多线程的静态C库。定义 _DEBUG、_MT 和 _DLL.

配置属性->连接器->调试->生成调试信息:是

配置属性->C/C++->常规->调试信息格式:用于“编辑并继续”的程序数据库(/ZI)

配置属性->C/C++->常规->警告登记:3级(/W3)

 

Release和Unicode_Release的公共设置:

配置属性->C/C++->预处理器->预处理器定义:NDEBUG;

配置属性->C/C++->代码生成->运行库:/MD

因为默认是/MT,表示使用多线程的静态C库。定义 _MT 和 _DLL,

配置属性->连接器->调试->生成调试信息:否

 

Debug的单独设置:

配置属性->常规->字符集:使用多节字

配置属性->连接器->常规->输出文件:$(OutDir)/$(ProjectName)d.dll

 

 

Release的单独设置:

配置属性->常规->字符集:使用多节字

配置属性->连接器->常规->输出文件:$(OutDir)/$(ProjectName).dll

 

Unicode_Debug的单独设置:

配置属性->常规->字符集:使用UNICODE

配置属性->连接器->常规->输出文件:$(OutDir)/$(ProjectName)ud.dll

 

 

Unicode_Release的单独设置:

配置属性->常规->字符集:使用UNICODE

配置属性->连接器->常规->输出文件:$(OutDir)/$(ProjectName)u.dll

这个就是我比较喜欢的工程配置,当然大的解决方案的设置要复杂一点,需要各个工程配置互动。
你可以任意按自己喜好来设置,不管怎样用了以后你会感觉舒服和方便很多,至少你COPY这个解决方案的时候知道哪些可以丢掉,查找输出文件不要频繁地去翻目录。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值