如何手动将库添加到Visual Studio 2017项目?

jog*_*den 2 c# c++ static-libraries visual-studio dynamic-library

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

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

我希望能以正确的方式(VS 2017)获得建议。

dgn*_*uff 6

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

在标签C/C++上的项目属性部分General或C#项目的相应部分中,存在的条目Additional include directories。将路径添加到您在include那里新创建的文件夹。这样您就可以包含头文件并使其正常工作。

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

这些步骤应该让你的项目使用的构建.h.lib以及.dll你所拥有的文件。

-编辑以发表评论-

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

General制表符对我来说是一个糟糕的选择。 General本节可能会更好。查看项目属性时,最左侧的窗格是各个属性部分的树形视图。一切都关闭了,除了最上面的项目打开,您会看到

Configuration Properties
    General
    Debugging
    VC Directories
  > C/C++
  > Linker
    ...
Run Code Online (Sandbox Code Playgroud)

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

Configuration Properties
    General
    Debugging
    VC Directories
  V C/C++
      General     <<<<<
      Optimization
      Preprocessor
      ...
  > Linker
    ...
Run Code Online (Sandbox Code Playgroud)

如果单击我突出显示的“常规”一词,将使您进入我正在谈论的“常规”部分/标签。

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

让我知道是否仍然不清楚,我将尝试澄清。

  • _在项目属性的“链接器”部分中,也在其“常规”选项卡上,有一个对应的“其他库目录”条目。_ VS 2017 15.9.14 中不存在此部分。过去几天我一直在尝试链接 .lib 文件,为什么这么难?这太荒谬了。 (2认同)