首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >交叉编译时缺少的库

交叉编译时缺少的库
EN

Stack Overflow用户
提问于 2014-08-10 21:40:46
回答 3查看 2.4K关注 0票数 4

我有时会遇到这样的问题:

1-我在上开发了一个工作的C++/C程序,它使用了一些库(如platform-independent,、Boost、GNU科学库、DCMTK等):这些库通常可以从apt获得,并且安装正确)。

我还想交叉编译从Ubuntu到Windows运行的程序,使用mingw (x86_64-w64-mingw32-g++)。

3

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

EN

回答 3

Stack Overflow用户

发布于 2014-08-10 23:05:40

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

您可能会找到可以安装的“替换”Windows库,但是的,许多库可能附带了Windows安装程序,这使得不使用葡萄酒或拥有“真正的”Windows就很难安装(但是您需要这样做来测试您的应用程序,所以我不确定它到底有多大的障碍)。

有些库可以在Linux下作为交叉编译器来构建,如果它们是以可移植的方式编写的,这可能比安装现成的Windows库更容易选择。但前提是你能找到来源..。

票数 1
EN

Stack Overflow用户

发布于 2020-09-07 20:28:42

目前正在研究类似的东西,并遇到了一些问题,如openssl,boost,sqlite,libpcap,.

到目前为止,最好的解决方案是利用WSL2和Docker。

https://code.visualstudio.com/blogs/2020/03/02/docker-in-wsl2

WSL2是一个适用于Windows的Linux环境(利用Hyper)。

Docker允许您为窗口和Linux制作容器,它们可以相互对话。

在Linux中,我有我需要在WSL2下运行的基本代码,当我需要从windows访问它时,我会使用docker。

这不是一个完美的解决方案,但我希望它能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2014-09-01 20:23:49

一些Linux程序可以在Windows上通过明威编译。

下面是如何设置交叉编译器环境:How to compile a Linux program with Mingw?

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25233272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档