如何在`Cygwin`中安装`build-essential`?

Jed*_*ues 11 linux windows cygwin

如何安装build-essentialCygwin
我尝试过使用:apt-cyg install build-essential 但是不起作用.

Installing build-essential
Package build-essential not found or ambiguous name, exiting
Run Code Online (Sandbox Code Playgroud)

我也有以下问题:

(gedit: 13864): Gtk-WARNING **: can not open display:
Run Code Online (Sandbox Code Playgroud)


所以我无法安装紧缩.看见:

$ make all
Building binary...
/usr/bin/gcc -pthread -Wall -pedantic -std=c99 undefined crunch.c -lm -o crunch
gcc: error: undefined: No such file or directory
Makefile:48: recipe for target 'crunch' failed
make: *** [crunch] Error 1
Run Code Online (Sandbox Code Playgroud)

这有什么问题,我该如何解决?

mat*_*aly 13

Cygwin中没有构建必需的包.

Build-essential是一个包的集合.所以你必须手动选择包,我相信如下:

  1. make
  2. automake
  3. gcc
  4. gcc-c++

假设您正在进行开发,您将需要从Devel分支中选择这些包.首次安装Cygwin并且安装程序要求您从列表中选择下载站点后选择软件包时,会执行此操作.

截图

至于Gtk-WARNING **: can not open display:错误,这是因为你的系统没有运行Cygwin的X11显示服务器,它为要呈现的图形应用程序提供了一个表面.查看http://x.cygwin.com/.

如果你想在Windows中运行gedit,你应该在这里获得windows的二进制文件.这是为Windows而构建的,不需要Cygwin.

编辑:sudo apt-get install build-essential在Elementary OS上运行Freya提到也将安装以下依赖项,因此您可能也希望这也适用于"更接近Linux"的构建环境.

将安装以下额外包:

  • 克++
  • 克++ - 4.8
  • 的libstdc ++ - 4.8-dev的

推荐套餐:

  • 克++ - multilib的
  • 克++ - 4.8-multilib的
  • GCC-4.8-doc的
  • 的libstdc ++ 6-4.8-dbg的
  • 的libstdc ++ - 4.8-doc的

将安装以下新包:

  • 建立必要的
  • 克++
  • 克++ - 4.8
  • 的libstdc ++ - 4.8-dev的

可以在此处找到安装 的文件列表,并且可以在我制作的PasteBin中找到文件列表的内容(当前截至2014年4月24日).

  • 别担心,欢迎来到 SO @JedaiasRodrigues!我也删除了链接。:) 有一个美好的星期五! (2认同)

Yan*_*ong 5

build-essential是一个抽象包,是其依赖项的缩写:

  • dpkg-dev
    • 二进制工具
    • 压缩包2
    • libdpkg-perl
    • 制作
    • 修补
    • 珀尔
    • 柏油
    • xz-utils
  • 克++
  • 海湾合作委员会
  • libc6-dev
  • 制作

所以在 Cygwin 中,安装它们的替代品是一样的:

apt-cyg install make gcc-core gcc-g++ patch bzip2 perl tar xz
Run Code Online (Sandbox Code Playgroud)

makegcc-g++ ( )是最重要的,g++它依赖于gcc-core ( )。gcc

如果您确实想在 Cygwin 中编译各种项目,下面的包可能也会有所帮助。小心,libboost-devel非常大。

apt-cyg install git automake cmake python3-devel libboost-devel
Run Code Online (Sandbox Code Playgroud)