是否应该在 C++ 项目之间避免项目引用?

问题描述

我们的大型 C++ 解决方案在不同项目之间有很多项目引用,这似乎会导致问题,最常见的是它会尝试链接错误版本的依赖项,例如您将在 release 中构建 Project 并收到关于缺少库 dependency_d.lib错误。尤其是当您使用多个构建配置时。

项目引用是否被视为在 C++ 中工作的不良做法,开发人员应该坚持使用旧方式(#include 目录和库在项目设置中列出)?或者这只是表明他们在我们的解决方案中设置错误

解决方法

在我们的团队中,尽管大多数库都使用 vcpkg,但我们使用 #include。

但是您可以为每个构建配置(调试、发布等)设置不同的依赖项:只需在项目属性窗口的顶部选择所需的配置。您的依赖 _d .lib 似乎是一个调试库。

我认为您的配置存在一些问题。我也没有听说过任何关于项目引用是不好的做法。