【问题标题】:Compiling a windows (.exe) executable file using gnu cobol on ubuntu在 ubuntu 上使用 gnu cobol 编译 windows (.exe) 可执行文件
【发布时间】:2017-07-22 20:16:30
【问题描述】:

我需要一个我在 .cobc 文件中编写的程序,以编译为 Windows 可执行文件。 该文件名为 main.cobc
编译它: cobc -x -free *.cobc -o main
使它成为一个 linux 可执行文件,可以,但不能直接在 windows 上运行。
我有 gnucobol(OpenCOBOL 安装在我的 linux ubuntu VM 上。
请帮忙。有没有办法以与 Windows 兼容的方式编译它?

提前致谢!

【问题讨论】:

  • 您在 Windows 主机上使用 Ubuntu 虚拟机,不是吗?如果你想用cobc 编译一个程序来生成一个 Windows 二进制文件,那么在 Windows 上这样做可能会容易得多......请解释我错过了什么。

标签: linux cross-compiling gnucobol


【解决方案1】:

有没有一种方法可以编译它 [a COBOL source] 使其与 Windows 兼容?

这不是标题中的问题,所以先回答这个问题。
你能在 Ubuntu 上做吗?
是的,...cobc 使用底层 C 编译器,您可以使用 C 编译器进行交叉编译(您可能会使用 gcc-mingw-w64-i686gcc-mingw-w64-x86-64)。

...但它需要大量设置。

  • 安装交叉编译环境
  • 获取cobc/libcob 在此环境中工作的所有依赖项
  • 使用./configure --host=i686-w64-mingw32 从源代码构建和安装 GnuCOBOL 包的第二个版本
  • 使用 cobc 的 mingw 版本编译您的程序

通过这种方式,您可以获得一个“main.exe”,只要您提供 mingw dll、libcob dll(及其所有依赖项的 dll 文件),就可以在 Windows 计算机上使用它。

我有 gnucobol(OpenCOBOL 安装在我的 linux ubuntu VM 上。 请帮忙。有没有一种方法可以编译成与 Windows 兼容的方式?

这就是“长问题”。是的,而且非常简单。
当您确实有 Windows 环境并希望为此生成可执行文件时 - 首先不需要在单独的 VM(或 WSL)中执行此操作,只需获取用于 GnuCOBOL 的官方即用型 MinGW 包(可用于32 位和 64 位)并直接在 Windows 机器上编译。

【讨论】:

  • 考虑使用适用于 Windows 10 的 WSL,而不是 Linux VM。
猜你喜欢
  • 1970-01-01
  • 2016-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-29
  • 2012-08-10
  • 2012-12-03
  • 1970-01-01
相关资源
最近更新 更多