VS中常常用到的宏OutDir,我们在那里设置该宏的值呢?

本文介绍了在Visual Studio中如何设置OutDir宏变量及其相关宏变量PlatformName和ConfigurationName的方法。详细步骤包括在工程属性中指定输出目录路径,并通过配置管理器设置平台和配置名称。

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宏值。

至于有关相对路径的设置请见博文《VS2005中相对路径的设置!》 

在VS2005中我们必然接触到project名字的设置问题,也就是宏变量$(ProjectName)值的设置问题,那么该宏的

在 **Visual Studio 2017** 中,C++ 项目在编译时出现 **命令行错误 E0992**,通常与 **定义无效** 或 **使用不当** 相关。该错误可能出现在定义未正确解析、名称拼写错误、为空、或在特定上下文中使用方式不当等情况。 ### ### 定义无效的常见原因及解决方法 1. **定义拼写错误或大小写不一致** Visual Studio 中的名不区分大小写,例如 `$(SolutionDir)` 和 `$(SOLUTIONDIR)` 是等价的。若在使用时拼写错误或使用了不规范的大小写形式,可能导致无法解析,从而引发 E0992 错误。 正确做法是确保名称拼写准确,并尽量使用标准命名形式,如 `$(ProjectDir)`、`$(Configuration)` 等 [^2]。 2. **为空或未定义** 若在路径中使用了某个,但该在当前配置下未定义或为空,编译器将无法解析路径,从而导致错误。 解决方法是在项目属性中检查的定义,或在使用时添加引号以防止路径解析失败,例如: ```plaintext "$(SolutionDir)ThirdParty\libs" ``` 这样可以确保即使为空,路径字符串也不会被误解析为非法路径 。 3. **自定义未正确设置** Visual Studio 允许用户创建自定义设置路径或配置变量。若自定义未在项目属性中正确配置(如路径拼写错误或未绑定到当前配置),将导致引用失败。 可通过以下路径进行配置: - 项目属性 → 配置属性 → 常规 → 定义 确保自定义与当前平台(x86/x64)和配置(Debug/Release)匹配 [^2]。 4. **在预处理器定义中使用不当** 若定义用于预处理器条件判断(如 `#ifdef EXAMPLE_EXPORTS`),但未在项目属性中正确声明,则可能导致编译错误。 例如,DLL 项目会自动定义 `EXAMPLE_EXPORTS`,若项目名称为 `good_boy`,则名称应为 `GOODBOY__EXPORTS`。 需确保名称与项目配置一致,并在预处理器定义中正确添加 [^3]。 5. **路径未正确解析导致路径错误** 在项目属性中,路径(如 `$(OutDir)`、`$(IntDir)`)用于构建输出目录、中间文件路径等。若路径未正确展开,可能导致编译器无法找到目标路径,从而报错。 可通过点击“编辑”查看的具体,并确认路径是否正确。路径的使用提升了路径配置的灵活性,但需确保与实际路径一致 [^4]。 --- ### ### 示例:检查定义并修正路径 在项目属性中查看定义: ```plaintext C/C++ → 预处理器 → 预处理器定义 ``` 确保 DLL 项目中自动生成的(如 `GOODBOY__EXPORTS`)已包含在定义中 [^3]。 在路径中使用时添加引号以避免解析错误: ```plaintext 输出目录: "$(SolutionDir)build\$(Configuration)\" ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值