当前位置: 首页>>技术教程>>正文


在Windows上,在Ubuntu上编译C文件并使用可执行文件

, , ,

问题描述

出于某些奇怪的原因,在Windows上进行编译时,make一直给我提供制表错误,因此我在Ubuntu上进行了尝试,效果很好。

现在,我想使用从Ubuntu上编译获得的可执行文件,并在Windows上使用它。但是,当我在Windows上下载文件类型时,我得到的文件类型有所不同,因为它只是类型file。考虑到它是在Ubuntu上编译的,是否可以在Windows上运行它?

最佳答案

Ubuntu上的标准编译器工具链将生成Linux可执行文件,而不是Windows可执行文件。可以安装将产生Windows可执行文件的cross-compiler-此Stack Overflow question和答案给出了有关如何安装和运行它们的一些提示。

次佳答案

这称为cross-compiling。您需要一个”toolchain”(编译器,链接器等),它将生成适当的代码和格式,其中包括:

  • 目标处理器体系结构。您的情况可能是相同的(x86或amd64),但是有时您会为其他处理器使用cross-compile,例如,在PC上为ARM处理器构建可执行文件时。

  • 目标ABI(使用的调用约定)。

  • 正确的格式

  • 正确的库,包括系统库。

根据项目的不同,这可能非常简单(只需将标志或环境变量设置在某处)或非常困难。

您会发现一些指针hereherehere

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11426.html,未经允许,请勿转载。