首页 文章

使用mingw进行交叉编译时缺少库

提问于
浏览
2

我有时遇到这个问题:

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-version(或源代码)“转换”为mingw安装,以便它可以用于构建Windows程序?每个库似乎都有自己独立的复杂的mingw安装说明 .

2 回答

  • -1

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

    您可能能够找到可以安装的“替换”Windows库,但是,许多可能附带Windows安装程序,这使得很难安装而不使用Wine或具有“真正的”Windows(但是你需要它测试你的应用程序,所以我不确定它到底有多大的障碍) .

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

  • 1

    一些Linux程序可以通过Mingw在Windows上编译 . 我是这样做的:How to compile a Linux program with Mingw?

相关问题