【发布时间】:2016-01-19 18:35:55
【问题描述】:
我在 Visual Studio 2013 中有一个包含两个 C++ 项目的解决方案。
项目 A 创建一个静态库。项目 B 为 A 生成 SWIG 生成的 DLL 包装器,链接 A 生成的库。复杂的因素是 B 使用“自定义构建步骤”生成代码,设置为在 ClCompile 之前执行。自定义构建步骤调用外部工具以根据项目 A 的头文件中定义的类生成包装器代码。如果生成成功完成,项目 B 从生成的代码构建一个 DLL,链接到项目 A 中生成的 .lib .
我遇到的问题是 B 中的自定义步骤在每个构建中都会发生(正如人们所期望的那样),但我想在 A 中的头文件发生更改时实现它。我看不到一种定义强制执行此条件的规则的方法。如果我将“..\project A*.h”添加到自定义构建步骤的附加依赖项字段中,则缺少的链接将是一个宏,当附加依赖项中的任何文件比输出字段中的任何文件都新时,该宏的计算结果为 true .
Visual Studio 是否提供一个宏来告诉我自定义构建步骤的附加依赖项何时比输出更新,或者我是否处于脚本领域?
【问题讨论】:
标签: visual-studio-2013 msbuild swig