【问题标题】:How to manually add a library to a visual studio 2017 project?如何手动将库添加到 Visual Studio 2017 项目?
【发布时间】:2018-09-10 03:57:59
【问题描述】:

对于这个以前肯定被问过和回答过的非常基本的问题,以及我非常过时的术语,我深表歉意。我搜索了答案,但没有找到任何有用的东西。我正在使用 VS 2017 Community 的最新更新,并且我正在尝试将我曾经称为“函数库”的内容手动添加到位于“解决方案”下的项目中。

该项目只是一个 C++ 或 C# 控制台应用程序。我拥有的是一个 .h(头文件)文件、一个 .lib(静态库)文件和一个 .dll(动态库)文件。我打算对这个库进行“函数调用”。我知道我需要将我的 dll 放在可执行文件所在的调试文件夹中,但我不确定如何在 VS 2017 中“添加依赖项”。我知道如何管理和安装 NuGet 包,但这些文件是不是一个方便的 NuGet 包。

我希望获得有关以正确方式(VS 2017)执行此操作的建议。

【问题讨论】:

  • 看看How to add references in VS2017,可能会有帮助。
  • @vikscool,感谢您提供的链接。绝对值得一读,但它并没有专门提到旧的静态库和头文件。但我会试一试。

标签: c# c++ visual-studio static-libraries dynamic-library


【解决方案1】:

在这种情况下我要做的是创建一个文件夹,我使用C:\Etc\SDKs\<name_of_library>,然后在该文件夹中创建一个include 子文件夹和一个lib 子文件夹。请注意,顶级文件夹的选择完全是任意的,请将其放在对您最有意义的位置。

在General 选项卡上项目属性的C/C++ 部分或C# 项目的相应部分中,有一个Additional include directories 条目。在此处添加新创建的include 文件夹的路径。这会让你包含头文件并让它正常工作。

在项目属性的Linker 部分,也在其General 选项卡上,有一个对应的Additional library directories 条目。将路径添加到您的lib 文件夹。在下一个选项卡上:Input 有一个 Additional Dependencies 条目。在此处添加库文件的实际名称。

这些步骤应该允许使用您拥有的 .h、.lib 和 .dll 文件构建您的项目。

-- 编辑地址 cmets--

.lib 文件确实在...\lib 文件夹中,.h 文件在...\include 中,这是正确的。但是,您在原始问题中的 .dll 位置正确。这需要位于可执行文件将找到的搜索路径上的某个位置,因此最简单的位置是与可执行文件相同的文件夹。

General 选项卡对我来说是一个糟糕的选择。 General 部分在这里可能会更好。查看项目属性时,最左侧的窗格是各种属性部分的树视图。一切都关闭了,除了最上面的项目打开,你会看到

Configuration Properties
    General
    Debugging
    VC Directories
  > C/C++
  > Linker
    ...

如果您随后双击 C/C++,它将打开,并显示特定于 C/C++ 编译器的部分:

Configuration Properties
    General
    Debugging
    VC Directories
  V C/C++
      General     <<<<<
      Optimization
      Preprocessor
      ...
  > Linker
    ...

如果您单击我突出显示的“常规”一词,您将进入我所说的“常规”部分/选项卡。

同样,双击单词Linker 将打开该部分,在该部分下您会找到链接器General 和Input 部分。

如果这还不清楚,请告诉我,我会尽力澄清。

【讨论】:

  • 好的,感谢您的建议。我会试一试,然后在这里报告。
  • 那么,我是否将 .lib 文件放在 \library 子文件夹中? .h 和 .dll 文件放在 \include 文件夹中吗?显然我错过了一些东西。也许没关系。
  • 好吧,我放弃了 C# 项目。我创建了一个 C++ 控制台应用程序,并且能够将 .h 文件添加到“头文件”下的项目中。从未在任何地方找到“常规”选项卡,因此无法找到“其他库目录”的条目。叹。不过感谢您的建议。
  • 好吧..这是很好的澄清。现在我的油箱里有更多的气体。我会试一试并报告。
  • 在项目属性的链接器部分,也在其常规选项卡上,有一个对应的附加库目录条目。此部分在 VS 2017 15.9.14 中不存在.过去几天我一直在尝试链接 .lib 文件,为什么这么难?这太荒谬了。
猜你喜欢
  • 1970-01-01
  • 2020-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-22
  • 1970-01-01
  • 2021-09-05
  • 2023-03-18
相关资源
最近更新 更多