【问题标题】:adding "reference" point to a static-library project : still need to include directory将“引用”点添加到静态库项目:仍然需要包含目录
【发布时间】:2017-08-20 01:57:45
【问题描述】:

我已经阅读了微软的教程"Creating and Using a Static Library (C++)",并成功地跟随它。

这是虚拟项目:-

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

这是微软的指南:-

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

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

这是专家所做的吗?
我认为仅第一步就足够了,但经过测试后就不行了。

问题:

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

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

【问题讨论】:

    标签: c++ visual-studio


    【解决方案1】:

    第 1 步(“添加引用”)用于链接器,第 2 步(“附加包含目录”)用于编译器。

    确实,IDE 可以足够智能地自动执行第 2 步。但是,您可能不会添加整个B 的代码文件夹以供C 看到。很可能您只想指向列出 B 接口(公共头文件)的文件夹,C 不应看到 B 私有/内部头文件或 B 源代码:IDE 肯定很难计算找出它的确切位置,这就是用户应该手动执行的原因。

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

    【讨论】:

    • 你对cMake+VS的工作流程有更多的必读吗? (除了链接)谢谢。
    • @javaLover:CMake 是一个很棒的工具,一旦到位,它将帮助您智能地管理所有库/程序/测试编译步骤。
    • 我相信是这样(听到了很多关于它的好谣言)。我应该如何学习它?谷歌搜索“visual studio cmake 教程”听起来好吗?
    猜你喜欢
    • 2020-11-08
    • 1970-01-01
    • 2010-10-20
    • 2014-08-25
    • 2022-08-18
    • 1970-01-01
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多