如何创建使用其他一些库的库?
How to create library that uses some other libraries?
我正在尝试创建一个图形库(没什么大不了的,只是为了学习东西)。在 Visual Studio 中,我有一个解决方案和两个项目 - dll 和 exe。对于 window 管理,我使用 GLFW 库。在我自己的 window class 中,我想要一个 GLFW Window 结构的私有成员。问题是我的 exe 项目不知道 GLFW 是什么——它不知道在哪里可以找到 #include <glfw/glfw3>
.
我的问题是 - 创建使用其他库的此类库的正确方法是什么?将 exe 项目设置为包含所有这些库对我来说不是一个好主意。
既然您正在使用 visual studio,那么 Microsoft 的文档是获取信息的好地方。 https://docs.microsoft.com/en-us/cpp/build/dlls-in-visual-cpp?view=vs-2019 他们有关于 DLL 的描述以及如何创建它们以及如何 link DLL 到项目。
感谢@Manuel,我找到了解决方法:dll 和 exe 项目,必须 包含库的 header 文件。
我的解决方案:在 dll 中,我使用预编译的 headers,因此所有库的 header 文件都包含在该文件中,具有 相对路径 。在 dll 项目设置中,我放置了正确的路径,以便任何库文件都知道如何找到它们的 headers。重要的是我的 exe 项目包含一个来自我的 dll 的 header 文件,并且该文件包含预编译的 header 所以 exe 项目 'knows' 它需要的关于库的一切。
再次感谢@Manuel 的帮助!
我正在尝试创建一个图形库(没什么大不了的,只是为了学习东西)。在 Visual Studio 中,我有一个解决方案和两个项目 - dll 和 exe。对于 window 管理,我使用 GLFW 库。在我自己的 window class 中,我想要一个 GLFW Window 结构的私有成员。问题是我的 exe 项目不知道 GLFW 是什么——它不知道在哪里可以找到 #include <glfw/glfw3>
.
我的问题是 - 创建使用其他库的此类库的正确方法是什么?将 exe 项目设置为包含所有这些库对我来说不是一个好主意。
既然您正在使用 visual studio,那么 Microsoft 的文档是获取信息的好地方。 https://docs.microsoft.com/en-us/cpp/build/dlls-in-visual-cpp?view=vs-2019 他们有关于 DLL 的描述以及如何创建它们以及如何 link DLL 到项目。
感谢@Manuel,我找到了解决方法:dll 和 exe 项目,必须 包含库的 header 文件。
我的解决方案:在 dll 中,我使用预编译的 headers,因此所有库的 header 文件都包含在该文件中,具有 相对路径 。在 dll 项目设置中,我放置了正确的路径,以便任何库文件都知道如何找到它们的 headers。重要的是我的 exe 项目包含一个来自我的 dll 的 header 文件,并且该文件包含预编译的 header 所以 exe 项目 'knows' 它需要的关于库的一切。
再次感谢@Manuel 的帮助!