【转载】VS配置路径和宏
原文路径:http://blog.csdn.net/puttytree/article/details/7838419
在介绍项目配置之前,先说明两点
1.
项目配置中,最好不要使用相对路径,更不要使用绝对路径
应尽量使用宏来指定所有路径
请在以下地方查看VS2008中与路径相关的宏
a.C/C++->常规->附加包含目录
b.点击右边的按钮,会弹出一个对话框
c.点击右下角的宏按钮,就可以看到所有的宏
2.
在进行项目设置的时候,如果Debug和release下具有相同的属性,那么,在属性页中,最好配置选项设置为:所有配置
这样,可以同时修改Debug和Release部分。
我们的项目的目录结构如下:

为了实现这样的目录结构,在建立工程项目的时候需要进行如下配置:
其中前三项是必须修改的指定的设置,后面用户可选
1.配置项目的输出目录和中间目录
配置属性->常规->输出目录:
$(SolutionDir)Build\Link\$(ProjectName)\$(ConfigurationName)
配置属性->常规->中间目录:
$(SolutionDir)Build\Compile\$(ProjectName)\$(ConfigurationName)
2.配置输出文件所在目录
链接->常规->输出文件:
$(OutDir)\$(ProjectName).dll
链接->常规->附加库目录:
$(SolutionDir)lib\$(ConfigurationName)
其它项目如VBCSwitcher,如果也要引用当前lib中的库,则附加库目录为:
$(SolutionDir)..\ebase\Lib\$(ConfigurationName)
3.配置生成后事件,将输出目录中的最终输出文件拷贝到bin目录中,同时将输出的lib文件拷贝到lib目录中
生成事件->生成后事件->命令行:
copy $(TargetPath) $(SolutionDir)Bin\$(ConfigurationName)
copy $(TargetDir)$(TargetName).lib $(SolutionDir)Lib\$(ConfigurationName)
其它项目如VBCSwitcher,如果也要输出到此目录,则生成后事件可写为:
copy $(TargetPath) $(SolutionDir)..\ebase\Bin\$(ConfigurationName)
copy $(TargetDir)$(TargetName).lib $(SolutionDir)..\ebase\Lib\$(ConfigurationName)
如果有需要注册的控件也可以在生成后事件中完全注册
echo regsvr32 $(TargetFileName) >> $(SolutionDir)Bin\$(ConfigurationName)\register.bat
echo regsvr32 /u $(TargetFileName) >> $(SolutionDir)Bin\$(ConfigurationName)\unregister.bat
4.如果要指定调试命令和工作目录,则在下面的地方设置
调试->命令:
$(SolutionDir)\Bin\$(ConfigurationName)\$(TargetFileName)
调试->工作目录:
$(SolutionDir)\Bin\$(ConfigurationName)\
具体查看如下部分说明:
以下部分的说明摘抄自:
http://blog.csdn.net/rogeryi/archive/2007/01/13/1481923.aspx
| ConfigurationName | 配置名字,通常是Debug或者Release |
| IntDir | 编译器使用的中间目录,产出obj文件 |
| OutDir | 链接器使用的输出目录 |
| ProjectDir | 项目目录 |
| ProjectName | 项目名字 |
| SolutionDir | 解决方案目录 |
| TargetDir | 目标输出文件所在的目录 |
| TargetExt | 目标输出的扩展名 |
| TargetFileName | 目标输出文件名,包括扩展名 |
| TargetName | 目标输出名,不包括扩展名 |
| TargetPath | 目标输出文件的全路径名 |



【转载】VS配置路径和宏的更多相关文章
- VS配置路径和宏
http://blog.csdn.net/puttytree/article/details/7838419
- Visual Studio属性配置中使用宏
在学习C语言的时候,我们曾经遇到过一个宏的概念.宏的作用机理本质上是宏的展开,C语言中的宏的用法也有很多种(水其实很深...),不过从感觉上来讲,人们大致上会在以下的场景中,利用宏来解决一些窘境:一是 ...
- webpack配置路径及hash版本号,利用html-webpack-plugin自动生成html模板
在项目中,因为需要经常更新文件,但是浏览器缓存问题导致js文件不是最新的,所有想办法添加hash值. 并配置webpack打包文件配置路径: 配置webpack打包文件路径,及非入口 chunk文件: ...
- 如何解决安装istio后istioctl命令每次使用都需要重新配置路径
Kubernetes在安装istio后初次使用istioctl命令时会提示istioctl command not found 这时候如果在istio文件夹的根目录下配置 export PATH=$P ...
- 修改Nodejs内置的npm默认配置路径方法
Nodejs 内置的npm默认会把模块安装在c盘的用户AppData目录下(吐槽一下:不明白为啥现在的软件都喜欢把资源装在这里) C盘这么小,肯定是不行的,下面一步步修改到D盘 1.打开cmd命令行, ...
- react import 配置路径别名'@',简化import Component的方式
摘要 在react中,大多数业务逻辑都组件化:极大的减轻了代码的冗余度,如果组件的层次比较深的话,组件的import就比较费劲,在import时使用“../../components/test”的方式 ...
- 【vue-cli 3.0】 vue.config.js配置 - 路径别名
如何配置vue-cli 3中vue.config.js的路径别名? 前段时间更新电脑重装了一下vue-cli,发现了vue-cli已经更新到3.0版.用来搭建项目后发现简化了很多,而且配置文件现在可以 ...
- webpack + ts 配置路径别名无死角方法总结
webpack + ts 配置路径别名总结 自我体验加总结:在配置脚手架时,定制别名很有必要,可以使得代码更优雅,可读性更强.但在使用ts的时候,即便项目能够运行,vscode 确时长会提示 can' ...
- k8s中的nginx-ingress如何配置路径重定向
k8s中的nginx-ingress如何配置路径重定向 一. 需求描述 路径重定向的一般应用场景: 调整用户浏览的URL,看起来更规范 为了让搜索引擎收录网站内容,让用户体验更好 网站更换新域名后 根 ...
随机推荐
- 带你从零学ReactNative开发跨平台App开发(二)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 使用 Azure PowerShell 监视和更新 Windows 虚拟机
Azure 监视使用代理从 Azure VM 收集启动和性能数据,将此数据存储在 Azure 存储中,并使其可供通过门户.Azure PowerShell 模块和 Azure CLI 进行访问. 使用 ...
- jetty和tomcat比较
两点,性能极佳,配置简单方便. 主要是设计思想的不同.Tomcat 主要是作为 JSP/Servlet 最新规范的参考实现而设计,属于学院派,但是显得庞大而杂乱.Tomcat 的性能很差,一般是作为 ...
- NPOI 导出Excel 数据方式
使用NPOI的库进行Excel导出操作 公共帮助类: using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System; using S ...
- Oracle 数据库 简单查询
select DISTINCT dept_id from s_emp; desc s_emp; ; --给入职3年以上员工发10万元年终奖 ; --列出职位是仓库管理员的名字和工资 select la ...
- 第六次作业 orm整合 接口
结合以前一个项目,将普通的jdbc进行了相关整合,全部改写成了hibernate接口 项目名称:短视频分享平台 主要功能:用户模块:注册.登录.编辑资料.查看用户相关 分类模块:分类添加.查看 视频共 ...
- windows Server 2008R2 FTP服务器搭建详细图解
一.安装ftp服务 1.打开服务器管理器,如图: 2.右键点击角色,如图: 3.点击添加角色,会出现添加角色向导对话框,如图: 4.点击下一步,选择要添加的“web服务器(IIS)” ‘’ 5.点击下 ...
- ISO8583组包、解包
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace POS. ...
- IE 8 下sharepoint 2013 难看的字体的解决方案
将 corev15.css 中的有关"Segoe UI","Segoe",Tahoma,移除即可. 一共二处 C:\Program Files\Common F ...
- OpenCV——颜色缩减、计时函数、访问像素
//颜色空间缩减 //src:源图片 //dst:目标图片 //divideWith:缩减宽度 void ColorSpaceReduction(Mat src,int divideWith,Mat& ...