区分debug和release生成文件的名称

摘要:
通常我们编译工程按照debug和release区分,且明确在Debug版本的生成文件中加入d标记。为了写非绝对名称,我们使用宏来代替起到此作用。而且,还没动力知道VS对这些宏的定义是如何规范的。

通常我们编译工程按照debug和release区分,且明确在Debug版本的生成文件中加入d标记。譬如: HelloWorld.exe 一般是release的生成文件,而debug版叫:HelloWorldd.exe。

为了写非绝对名称(好像我们尽可能避免写绝对路径一样),我们使用宏来代替起到此作用。

改法1: 【属性界面】(存在问题)

1,【Configuration Properties】->【General】->【Target Name】 : HelloWorld (若用项目名,则使用$(ProjectName)更好)

2, (debug配置下)【Linker】->【General】->【Output File】: $(OutDir)$(TargetName)d.exe (在这里加的d)(这里的.exe也可以被其他宏去掉)

出现问题:

arning MSB8012: TargetPath(D:xxHelloWorld.exe) does not match the Linker's OutputFile property value (D:xxHelloWorldd.exe). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).

改法2:(更好)

1, (debug配置下)在【Target Name】内后缀d,即:【Configuration Properties】->【General】->【Target Name】 : HelloWorldd (或$(ProjectName)d

2, 掉【Output File】中的后缀d, 即:【Linker】->【General】->【Output File】: $(OutDir)$(TargetName).exe

个人回顾:以前觉得这种内置配置的宏,只要能“拼接对”,怎么都行,现在才有动力想改掉这个一直以来的warning,惭愧。。而且,还没动力知道VS对这些宏的定义是如何规范的。

免责声明:文章转载自《区分debug和release生成文件的名称》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PIVOT浏览器试用体验uni-app 左上角返回按钮消失下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

传奇衣服、翅膀、武器、怪物、NPC等外观代码计算方法与公式

例如:MON50.WIL,要添加的怪物图像是361-720,因此怪物在文件中的位置是第二位,因为怪物位置代码从0开始,即第一个怪物是0,第二个怪物是1,第三个怪物是2……因此,当前文件中怪物的位置代码是1。因此,怪物的APPR值是{*10}+1=491。...

BAT教程 第三节(FOR命令中的变量)

FOR命令中有一些变量,许多新手朋友不太了解它们的用法。今天,我将向您解释它们的用法!让我们看看这个例子:首先,我们创建一个名为temp Txt文本文件的桌面,输入这些内容“11112222”“3333”44“44”,然后创建一个BAT文件,代码如下:FOR/F“delims=”%%iINDO@echo%%~执行ipause后,我们可以看到CMD echo如...

QMap与QHash

Qt提供两个主要的关联容器类:QMap和QHash。QMap的K和T有一对方便的函数keys()和values(),它们在处理小数据集时显的特别有用。QMap重载了value,返回一个给定键多有值的QList列表。在内部,它们都依赖于QHash,且都像QHash一样对K的类型有相同的要求。...

mini.DataGrid使用说明

√√√ ajaxOptionsObjectajax配置对象。√√√ idFieldString是行数据的唯一字段。设置为“client”之后,客户端将排序√√√√ totalCountNumber记录总数√√√ defaultColumnWidthNumber默认列宽100√√√√ showColumnsBoolean显示标头true√√√√ showPag...

Android开发 Camera2的CaptureRequest属性整理--完善中

当android.control.aeExposureCompensation改变时,即使AE锁定为ON,则相机设备将仍然调整其曝光值。如果android.control.aeMode是ON_ALWAYS_FLASH,现场可能会变得过度曝光。同样,AEprecapture触发取消了当AE已被锁定没有影响。见android.control.aeState为AE...

PX4 飞控源码系统框架介绍

该部分主要是PX4系统的使用的所有的数据结构的集合部分,各种任务和sensor驱动中需要获取的sensor数据都在此部分,还包含各种运行状态的数据结构。...