当前位置:  开发笔记 > 编程语言 > 正文

将C++源代码构建为库 - 从哪里开始?

如何解决《将C++源代码构建为库-从哪里开始?》经验,为你挑选了1个好方法。

几个月来,我写了一些很好的通用功能,我想构建一个库并动态链接而不是导入50多个头文件/源文件.

该项目使用Xcode和Dev-C++进行维护(我知道我可能必须使用命令行来执行我想要的操作)并且必须链接到OpenGL和SDL(在SDL的情况下动态).目标平台是Windows和OS X.

我在看什么?

如果需要,我的图书馆的入口点是什么?

我需要在代码中更改什么?(调用约定?)

我该如何发布?我的理解是标题和编译库(.dll,.dylib(,.framework),无论它是什么)都需要为项目提供 - 特别是因为模板功能本身不能包含在库中.

还有什么我需要注意的?

小智.. 11

我建议建立一个statc库而不是DLL.如果您这样做,导出C++函数和类的许多问题都会消失,前提是您只打算链接由您构建库的同一编译器生成的代码.

构建静态库非常简单,因为它只是.o/.obj文件的集合 - 有点像ZIP文件但没有压缩.无需导出任何内容 - 只需将库包含在应用程序链接的文件列表中.要访问特定的函数或类,只需包含相关的头文件.请注意,您无法摆脱头文件 - C++编译模型(尤其是模板)取决于它们.



1> 小智..:

我建议建立一个statc库而不是DLL.如果您这样做,导出C++函数和类的许多问题都会消失,前提是您只打算链接由您构建库的同一编译器生成的代码.

构建静态库非常简单,因为它只是.o/.obj文件的集合 - 有点像ZIP文件但没有压缩.无需导出任何内容 - 只需将库包含在应用程序链接的文件列表中.要访问特定的函数或类,只需包含相关的头文件.请注意,您无法摆脱头文件 - C++编译模型(尤其是模板)取决于它们.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有