将"reference"点添加到静态库项目:仍然需要包含目录

adding "reference" point to a static-library project : still need to include directory

本文关键字:包含目 reference 添加 静态 项目      更新时间:2023-10-16

我已经阅读了Microsoft的教程"创建和使用静态库(C++)",并成功遵循了它。

这是虚拟项目:-

  • B:静态库项目的名称
  • C:使用B的项目的名称

以下是Microsoft指南:-

  1. 单击C中的"添加引用",然后单击B(简单)
  2. 添加C的"其他包含目录"以指向B的代码文件夹

为什么我必须执行第二步(冗余)?
它会导致一些可维护性问题和乏味,特别是如果我有很多项目。

这是专家所做的吗?
我相信只有第一步就足够了,但经过测试就没有了。

问题:

  • 有没有更好的工作流程? 这是什么?
  • 如果没有,如何维护包含目录(如果我移动B的文件夹)?

搜索SO后,我开始相信没有更好的方法,我必须手动维护它。

步骤 1(">

添加引用")用于链接器,步骤 2("其他包含目录")用于编译器。

确实,IDE 可能足够智能,可以自动操作步骤 2。但是,您不能添加整个B的代码文件夹以供C查看。最有可能的是,您的意思是只指向列出B接口(公共头文件)的文件夹,C不应该看到B私有/内部头文件,也不应该看到源代码B:IDE肯定很难弄清楚它的确切位置,这就是为什么用户应该手动执行此操作。

对于最后一个问题:"专家"所做的是,他们通常不会手动编辑/维护IDE文件,而是通过CMake等工具生成它们。然后,当结构发生变化时,它们只是重新生成项目(sln/vcproj)文件(再次运行CMake)。