也许是太方便了,大家在visualstudio中调试代码时,大多习惯了直接点这个小绿箭头,但其实从点这个小绿箭头直到程序开始运行中间经历了多个步骤。
下面我就这段事件在编译过程中遇到的问题,讲一些我的经验。
今天先来说一说 visual studio 中的生成事件
一个事例:有几幅bmp图像数据文件放在 test .vcproj工程文件所在文件夹下面的Data文件夹中。此时,外界调用该工程所生成的DLL文件,且需要取Data文件夹中bmp图像数据文件。
如下图所示:
作为首启动项的CallTest需要读取test下面的Data文件夹中的图像。
当然,遇到这种情况,我们可以手动操作,把那几幅图像拷贝到该工程文件夹的外部去;也可以在外部需要读取图像的代码处写清楚数据的路径。但是,如果计算机能够自动完成,咱干嘛还劳心劳力呢?
见下图:
在项目属性-> 配置属性 -> 生成事件 下面有预生成、预链接、生成后事件三种,对于上述需求,预生成、生成后两种均可搞定:在命令行敲 xcopy .\Data\*.bmp ..\Outfolder\Data。前面是.,代表test .vcproj所在的文件夹下面;后面是..,代表test .vcproj所在的文件夹上一层文件夹。另需注意是反斜杠\。
编译通过:
成功复制了*.bmp图像文件至指定位置。
另,附上xcopy这个dos命令的用法:
dos很强大,同志需努力!
对了,末了,拷贝文件只是生成事件的简单应用,利用它还可以写一些其他脚本,见:
http://blog.163.com/danshiming@126/blog/static/109412748201332402929279/
http://blog.sina.com.cn/s/blog_752ca76a010181ma.html
http://msdn.microsoft.com/zh-cn/library/aa833213(v=vs.100).aspx