如何在 Visual Studio C++ 中的 dll 项目中包含库

How to include a library in a dll project in visual studio c++

提问人:Rex 提问时间:4/19/2020 更新时间:4/19/2020 访问量:264

问:

所以我有一个项目(A)编译成一个dll文件,然后我把这个dll包含在另一个项目(B)中。现在我想在该 dll(A) 中包含一个库,而不必将其也包含在另一个项目 (B) 中。我该怎么做?

c++ visual-studio dll

评论

1赞 Spencer 4/19/2020
不清楚你的意思。您想将某个库静态链接到 A 而不是 B 吗?或者这是第三个 DLL?
0赞 Rex 4/19/2020
基本上,我希望该库包含在我的 dll 中
0赞 drescherjm 4/19/2020
如果项目 A 不依赖于项目 B,则在将项目 A 中的 dll 与其他项目一起使用时,不应具有依赖关系。
0赞 Rex 4/19/2020
我有一个项目需要包含glfw,然后编译成一个dll,我希望能够在其他项目中导入dll,而不会给我glfw3.h未找到错误。我希望这样更清楚
1赞 drescherjm 4/19/2020
您不能以这种方式导入它。如果你需要直接在另一个项目中访问glfw,你需要直接包含它。如果你的 dll 没有在公共接口中公开 glfw 的任何内容(并且你的其他项目不想直接使用 glfw),那么你可以删除依赖项。

答:

1赞 SeventhSon84 4/19/2020 #1

您可以在 project(A) DLL 中静态链接该库。通过这样做,库生成的二进制文件将包含在 DLL 的二进制文件中,project(B) 根本不会被修改(如果静态库的使用不会影响 DLL 本身的接口代码,即:project(B) 包含的标头)。