|
18
|
| Sniggerfardimungus · 技术社区 · 15 年前 |
|
|
1
8
如果在命令行上调用msbuild,则无法指定defineconstants的值。但是,如果正在生成.csproj或其他msbuild脚本,则可以指定它。如果创建一个msbuild文件以“替换”解决方案文件,则可以在生成项目时使用该文件的指定值。例如:
然后你可以用
注意命令行中引号的用法。 我写了一篇关于这个的博客 http://sedodream.com/2008/05/07/MSBuildBuildingTheSameProjectMultipleTimes.aspx . |
|
|
2
7
如果要定义跟踪调试常量,应该可以:
|
|
|
3
2
为了完整起见,这是我发现的在我想要的时候有效的方法。
(当然都在同一条线上) |
|
|
4
2
以下是需要对vcxproj进行修改才能使/p工作。 放 &; 定义常数 &; 定义常数 gt; 在下面; 属性群 label=globals> < 预处理器定义 美元; 定义 );win32;_debug;_console;unit_test_sim;%(预处理器定义) 这样,msbuild就会知道,对于预处理器,它需要使用来自globals propertygroup的defineconstants的值,除非由/p:defineconstants=“my_define”从命令行提供。 |
|
|
Timo · 如果宏变量后跟构成有效标识符的字符,则不会展开宏变量 7 年前 |
|
|
user3623498 · 在#if中更改变量时出现问题 7 年前 |
|
|
einpoklum · 来自#cmakedefine替换的意外结果 7 年前 |
|
|
Joseph Franciscus · C中预处理器方法的别名++ 7 年前 |
|
|
stoper · 防止同一宏在多个转换单元中具有不同的定义 7 年前 |
|
|
СеÑгей · MinGW中预处理器g++的奇怪行为 7 年前 |