Visual Studio C++ 项目和引用项目的引用

Visual Studio C++ Project and Referenced Project's References

本文关键字:引用 项目 Studio Visual C++      更新时间:2023-10-16

我正在尝试设置一个具有多个项目的C++解决方案,为简单起见,我将它们称为ProjectAProjectB

ProjectB设置为静态库并使用外部库,我将其称为ExternalLib,它已添加到ProjectB属性中的附加包含中。ProjectAProjectB添加为参考,并已添加到ProjectA"其他包含"部分。到目前为止一切顺利,我可以从ProjectA引用ProjectB类,但是当我去编译时,我收到一个错误,找不到ExternalLib中的一个标头。不确定如何继续,我将ExternalLib添加到ProjectA"其他包含"部分并再次构建。现在我得到了ExternalLib中类的未解析外部。

我确定我可以通过将ExternalLib添加到PorjectA链接器的其他依赖项来修复未解决的外部。但是,我对这是否是处理此问题的正确方法感到困惑。我对 VS 中的C++项目有点陌生,我对 C# 更熟悉,所以我的问题是:

在我的主项目(ProjectA(中必须包含引用项目的(ProjectB(依赖项(ExternalLib(是标准的吗?还是我配置PorjectB不正确?

检查您的 ProjectB 头文件,如果 ProjectA 包含的头文件引用了 ExternalLib 中的任何内容,则需要告知 ProjectA 有关 ExternalLib 的信息。通常我发现问题是项目B只应该在内部使用ExternalLib,但ExternalLib的某些部分已经潜入了ProjectB的公众视野。如果来自 ExternalLib 的某些内容确实应该是 ProjectB 公众形象的一部分,那么是的,任何使用 Project B 的东西也需要被告知 ExternalLib(Project B 对 ExternalLib 的知识不会被引用 Project B 的项目继承(。