3

这是对使用 SVN 的 Visual Studio 中的解决方案组织的疑问。

为简化起见,假设我有一个名为 Util.lib 的静态库,在 VS2010 项目中编译。

我还有一个名为 Capture.lib 的静态库,在 VS2010 中编译,它依赖于 Util.lib。在 SVN 上,Util.lib 是 Capture.lib 文件夹中的一个外部,Util 项目被添加到 Capture.lib 解决方案中。这完美编译。

现在的问题。我有另一个项目,称为 Native,它编译一个 DLL。此 DLL 依赖于 Capture.lib 和 Util.lib。我已将两者都添加为外部,并将项目添加到本机解决方案中。

问题是:在 Native 编译过程中,Capture.lib 项目无法编译,因为它没有找到 Util.lib。发生这种情况是因为它在 Capture 项目的 externals 文件夹中查找!而 Util 现在不存在。

在这种情况下我该怎么办?我应该将 Util 项目(在 externals/Capture/externals/Util 内)添加到 Native 解决方案吗?这是正确的方法吗?

谢谢

4

1 回答 1

-1

这取决于 Util.lib 和 Capture.lib 的更改频率。1) 如果您使用的是 Native.dll 的固定版本,您只需将 Util.lib 和 Capture.lib 及其头文件夹添加到您的 Native 项目(Project->Properties->C/C++->Additional Include Directories , Project->Properties->Linker->Input->Additional Dependencies) 2) 如果 Capture.lib 和 Native.dll 与 Native.dll 并行发生动态变化,您应该以与 (1) 相同的方式调整依赖关系并将项目依赖项添加到 Capture.lib 和 Native.dll(Project->Project Dependencies),您可以在其中告诉 VS 以正确的顺序编译您的项目。

于 2012-11-29T12:01:24.747 回答