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)获得建议。
在这种情况下,我要做的是创建一个文件夹,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将打开该部分,在该部分下您将找到链接器General和Input部分。
让我知道是否仍然不清楚,我将尝试澄清。