C++ 跨平台库

标签 c++ cross-platform libraries

我并不是 C++ 的新手,但我从来没有设法了解库。

我想将我的网络、图形和输入类集从我的主要可执行文件中分离出来,这样我就可以单独更新它们,而不是将所有代码的重新编译版本作为一个可执行文件发送出去。

这可能吗?我该如何跨平台? (例如,该过程将适用于 Windows、Linux 和 Mac)

最佳答案

正如@Armen 用最简单的术语所说的那样,这里的要求之一是一个尽可能/需要跨平台工作的库。 Qt 是显而易见的选择。还有其他类似 wxWidgets 的实现相同的东西,选择取决于你。

第二件事是所有“可升级”库都需要符合二进制兼容性(Qt promise 为每个主要版本做的事情,不知道 wxWidgets)。

第三,可能是“是的,呃!”部分:您需要将它们构建为共享库并链接这些共享库。

这三点应该允许您在不重建可执行文件本身的情况下替换库,并使它尽可能小。不过,不同平台的升级方式会有所不同(Linux:通过存储库自动升级,Mac 和 Windows 手动或通过您自己的更新软件,也许是 macports for Mac?)

关于C++ 跨平台库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5234449/

相关文章:

c++ - 使用 codelite c++ 链接 Curl

c - 不加载 c 库的 perl 语法检查

java - 自动下载库更新

c++ - g++ "calling"一个没有括号的函数(不是 f() 而是 f; )。为什么总是返回 1?

android - Xcode 还是 Xamarin?

android - 跨平台移动聊天

c - 将像素绘制到屏幕,跨平台

c++ - 在 C++ 中继承友元?

c++ - 如何确定输出流链是否结束?

用户给定长度的 C++ 简单数组创建