使用其他库与静态库?

时间:2013-05-07 15:22:25

标签: c++ dll static-libraries

那么,我是否可以在我正在制作的静态库中使用仅头文件库,动态库和静态库,而不是将所有这些都作为一个大型静态库?

具体来说,我在OpenGl中编写渲染引擎,并使用了很多工具。 即:GLFW,GLM,GLEW,当然还有OpenGL。

如果用户拥有所有这些,和/或我将其提供给我的库,是否可以完成?

1 个答案:

答案 0 :(得分:4)

问题更多的是联系解决问题。模板库(仅限标题)仅具有为具有显式类型实例化的模板类型生成的代码;必须在您的库中,否则您将需要一个头库依赖项。外部和静态库的链接解析以相同的方式解决 - 通过使用对静态库中的项的外部引用或将dll中的代码协调为外部的库。

复杂性以兼容性的形式出现 - 调试与发布,32位与64位,操作系统架构,编译选项,名称修改等等。

最简单的事情是,最好的方法是将编译模块链接到静态库,提供标题,记录依赖项,如果能提供正确的依赖项,那就更好了。

如果您使用VC,Lib工具将帮助您了解库的内容。学会爱它:)。

相关问题