2

为简化起见,假设我已经编写了两个库,Lib1 和 Lib2。每个库都有一个配置:静态 (.lib) 版本 Win32 (/MD)。每个库都有一个属性表(分别为 include_lib1.props 和 include_lib2.props)。给定库的属性表:

  • 导出库目录下生成的 .lib 的路径
  • 在包含目录下导出库源的路径
  • 将生成的 .lib 的名称添加到链接器的输入要求中。

依赖项:

  • Lib1 没有依赖项(即,它只包含 Microsoft.Cpp.Win32.user)。
  • Lib2 有一个依赖项:Lib1(即,Lib2 包括 Microsoft.Cpp.Win32.user 和 include_lib1.props)。

现在我想写一个应用程序。从表面上看,它只依赖于 Lib2——但由于 Lib2 是使用 Lib1 构建的,因此应用程序需要Lib1.props和 Lib2.props*(即,它尝试与 Lib1.lib 链接,但由于 Lib1 的属性表不是那里说在哪里可以找到它)。

我的问题是:有没有办法让它在我包含 include_lib2.props 时自动包含 include_lib1.props——或者做一些等效的事情?


*这本身就很奇怪——这些库是用 /MD 构建的,可能是这样吗?

4

1 回答 1

2

答案似乎只是将一个属性表添加另一个属性表中。右键单击属性表可以添加现有的。

这以模块化、简洁的方式很好地解决了这个问题。更改后的属性表可以在多个地方使用。将其添加到新项目会递归添加依赖的属性表,可以在属性页中查看。

于 2013-03-22T01:21:33.617 回答