gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:27 24 4
gpt4 key购买 nike

在过去的几个月里,我编写了一些足够好的通用功能,我想将它们构建为一个库并动态链接,而不是导入 50 多个头文件/源文件。

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

我到底在看什么?

  • 我的入口点是什么图书馆是否需要?
  • 我的代码需要更改什么?(调用约定?)
  • 我如何发布它?我的理解是标题和编译库(.dll,.dylib(,.framework),不管它会是什么)需要可用于项目 -特别是作为模板功能不能被包含在库中自然。
  • 我还需要注意什么?

最佳答案

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

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

关于c++ - 将 C++ 源代码构建为一个库——从哪里开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/927063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com