gpt4 book ai didi

c++ - 使用 mingw 交叉编译时缺少库

转载 作者:可可西里 更新时间:2023-11-01 10:46:02 25 4
gpt4 key购买 nike

我有时会遇到这个问题:

1 - 我在 Ubuntu Linux 上为 Ubuntu 开发了一个有效的 C++/C 程序,它使用了一些库(平台无关,例如 OpenSSL、Boost、 GNU Scientific Library、DCMTK 和其他:这些通常可以从 apt-get 获得,并且已正确安装)。

2 - 我还想使用 mingw (x86_64-w64-mingw32-g++) 从 Ubuntu 交叉编译程序以在 Windows 上运行。

3 - mingw 中缺少这些库。

是否有一种通用的方法可以轻松地将任何库从 linux 版本(或源代码)“转换”为 mingw 安装,以便它可以用于构建 windows 程序?每个库似乎都有自己单独的 mingw 复杂安装说明。

最佳答案

您当然不能将 Linux 库直接转换为 Windows,因为它们几乎肯定会使用特定于 Linux 的 Linux 系统调用和调用库(例如 C 运行时库)(即使代码没有直接调用其他任何东西,编译器可能会隐式添加函数调用,例如来自模板函数的内存分配调用等)

您也许可以找到可以安装的“替代”Windows 库,但是,是的,许多可能带有 Windows 安装程序,这使得在不使用 Wine 或没有“真正的”Windows 的情况下很难安装(但随后你需要它来测试你的应用程序,所以我不确定它到底有多大障碍)。

如果以可移植的方式编写某些库,则可以使用 mingw 编译器作为 Linux 下的交叉编译器进行构建,这可能比安装现成的 Windows 库更容易选择。但它假定您可以找到来源...

关于c++ - 使用 mingw 交叉编译时缺少库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25233272/

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