我正在解决方案中,解决方案中有一个特定的库,通过#ifdef打开或关闭功能。
我在解决方案中有另一个项目,它将其用作依赖项。在我的构建设置中,我希望能够根据项目中的构建配置在依赖库中定义符号。我无法在Visual Studio中找到任何方法。
有没有办法实现这个目标?
(我知道这里理想的解决方案是将#ifdef更改为其他内容,但请假设我无法编辑其他项目中的代码)
答案 0 :(得分:2)
构建选项卡取决于构建配置下拉列表的选定值。您可以测试,当您选择Debug时,选中Define DEBUG常量,但不是Release模式。
只需选择适当的配置(Debug,Release或custom one)并设置条件编译符号的值。
答案 1 :(得分:1)
我认为你不能那样做。没有“解决方案级别”定义,所有定义都限定在项目范围内。
正如@archil所指出的,你可以通过为项目选择正确的配置来实现一些目标。
另一个选项可能是直接使用MSBuild构建项目而不是使用普通的VS IDE路由,这样您就可以通过命令行覆盖定义(http://stackoverflow.com/questions/479979/msbuild-defining -conditional编译符号)