firemail 发表于 2017-1-19 11:08:03

Visual Studio中的环境变量

什么是vs的环境变量?

以美元符号$开头 + 一对括号,这样进行引用的就是我所谓的环境变量, 如:
$(SolutionDir)$(Platform)\$(Configuration)\

环境变量名        含义
$(SolutionDir)        解决方案目录:即.sln文件所在路径
$(Platform)    当前平台名称,如:Win32
$(Configuration)        当前的编译配置名称,比如Debug,或Release
$(ProjectName)        当前项目名称,图中即为Game
在中文版的VS中,环境变量翻译为“宏”,为了避免与C/C++语言中的宏(Macro)搞混,我在本文中把它叫做“vs环境变量”,简称环境变量。

其它vs环境变量
如何查看所有的环境变量值呢?

有好多个地方都可以查看,比如添加包含目录时候,弹出的窗口,注意其右下方,有个“宏”按钮
点击它就能看到所有的“宏” (即vs环境变量的值):
在上方的输入框可以进行过滤。



下面的表格给出了常用的环境变量的含义:

环境变量名        含义
$(SolutionDir)        解决方案目录:即.sln文件所在路径
$(ProjectDir)        项目根目录:, 即.vcxproj文件所在路径
$(Configuration)        当前的编译配置名称,比如Debug,或Release
$(ProjectName)        当前项目名称
$(SolutionName)        解决方案名称
$(OutDir)        项目输出文件目录
$(TargetDir)        项目输出文件目录
$(TargetName)        项目生成目标文件, 通常和$(ProjectName)同名, 如Game
$(TargetExt)        项目生成文件后缀名,如.exe, .lib具体取决于工程设置
$(TargetFileName)        项目输出文件名字。比如Game.exe, 等于 $(TargetName) + $(TargetExt)
$(ProjectExt)        工程文件后缀名,如.vcxproj



firemail 发表于 2017-1-19 11:13:45

VS中常常用到的宏OutDir,我们在那里设置该宏的值呢?
VS中常常用到的宏OutDir,我们在那里设置该宏的值呢?
在Solution Exporer窗口中右键点击某个工程->Property -> Linker->General;看到Output File项是:
$(OutDir)\xxx_xxx.exe
这个OutDir宏变量的值在那里设置的呢?
在Solution Exporer窗口中右键点击某个工程->Property -> Configuration Properties->General;看到Output Directory项,该项就是用来设置上面的宏值的,在我的系统里面该宏的值为:
..\..\Build\Bin\$(PlatformName)\$(ConfigurationName)
如果我们在工程的其他地方要使用这个值就可以用$(OutDir)来引用。
我们从..\..\Build\Bin\$(PlatformName)\$(ConfigurationName)中可以看出,我们如何设置宏PlatformName和ConfigurationName的值呢?
Build->Configuration Manager...进入配置管理窗口,我们在Active solution configuration中添加新的ConfigurationName宏值,也可以修改原来的ConfigurationName宏值;我们通过Active solution platform来添加新的PlatformName宏值,也可以修改过原有的PlatformName宏值。







页: [1]
查看完整版本: Visual Studio中的环境变量