cygwin中gcc的正确包名是什么?

时间:2014-05-31 15:09:29

标签: gcc compilation cygwin installation packages

我需要在cygwin上安装gcc, 但是当我在cygwin设置应用程序中搜索gcc时,我会得到几个字符串" gcc"在他们的名字中,例如:

cygwin32-gcc-ada
cygwin32-gcc-core
cygwin32-gcc-fortran
cygwin32-gcc-g++
cygwin32-gcc-objc++
...
gcc-ada
gcc-core
gcc-fortran
gcc-g++
...
libgcc1
minigw-gcc-core
minigw-gcc-g++
....
minigw64-i686-gcc-core
minigw64-i686-gcc-g++
...

当我在ubuntu的synaptic中搜索gcc时,我有一个非常明显的结果 我想用这些名字做什么?安装全部? 安装一个随机的,然后创建符号链接到哪里它的二进制文件可以登陆到/ usr / bin / gcc?

当我尝试搜索那个我一直在线阅读的gcc,我需要在cygwin安装程序上构建不需要的软件包时,可以从这些许多软件包名称中获得什么实用性和生产力?

我读到的任何地方"在cygwin上安装gcc,然后继续这样做,并且#34;他们从不提及上面的哪个gcc包是单一的正确的,

就像每个地方的每个人都知道哪个gcc是正确的,并且该信息无法在网上找到。

我希望得到澄清和进一步的帮助。

编辑: 在过去的某个时候,实际上曾经有一个叫做" gcc"的软件包, 我从截图中发现: http://www.eecg.utoronto.ca/~aamodt/ece242/cygwin.html

我不知道多少年前就是这样。

2 个答案:

答案 0 :(得分:5)

以下是用于在64位Cygwin中编译32位二进制文​​件:

cygwin32-gcc-ada
cygwin32-gcc-core
cygwin32-gcc-fortran
cygwin32-gcc-g++
cygwin32-gcc-objc++
...

以下是主要的gcc作品。如果您不需要某些特定语言,如Ada或Fortran,请不要安装它们。

gcc-ada
gcc-core
gcc-fortran
...

这是gcc所需的库。

libgcc1

mingw(不是minigw ......那些似乎是拼写错误的)版本用于编译Cygwin中不依赖于Cygwin1.dll的程序。使用这些程序构建的程序使用Microsoft C RTL,并且可以安装在没有Cygwin的系统上。他们也不受Cygwin相当严格的开源许可证的约束。名称不包含64-i686的那些用于生成32位二进制文​​件,而那些用于生成64位二进制文​​件的二进制文件。

mingw-gcc-core
mingw-gcc-g++
....
mingw64-i686-gcc-core
mingw64-i686-gcc-g++

请注意,您可以在http://cygwin.com/packages上看到所有这些信息。

答案 1 :(得分:5)

使Cygwin GCC包令人困惑的事情是:

  • gcc-corecygwinXX-gcc-core混淆相关(XX为32或64,具体取决于您的Cygwin架构。)
  • MinGW MinGW-w64 的软件包,它们是不同的项目,虽然很多人都不知道它们的共存(我当时)。

截至2015年10月,Cygwin GCC软件包已按此细分。

Cygwin x86 (32位)中:

PROJECT: Cygwin GCC (Windows POSIX-enabled executables via linking to cygwin1.dll)

    PACKAGE                    TARGET ARCH    MAIN BINARY + LINKS (except versioned link)
    gcc-core                   x86            /usr/bin/gcc.exe
                                              /usr/bin/cc (symlink)
                                              /usr/bin/i686-pc-cygwin-gcc.exe (hard link)
    cygwin64-gcc-core          x86_64         /usr/bin/x86_64-pc-cygwin-gcc.exe

PROJECT: MinGW (Windows 32-bit standalone executables)

    PACKAGE                    TARGET ARCH    MAIN BINARY + LINKS (except versioned link)
    mingw-gcc-core             x86            /usr/bin/i686-pc-mingw32-gcc.exe

PROJECT MinGW-w64 (fork from MinGW for building 64-bit)

    PACKAGE                    TARGET ARCH    MAIN BINARY + LINKS (except versioned link)
    mingw64-i686-gcc-core      x86            /usr/bin/i686-w64-mingw32-gcc.exe
    mingw64-x86_64-gcc-core    x86_64         /usr/bin/x86_64-w64-mingw32-gcc.exe

Cygwin x86_64 (64位)中:

PROJECT: Cygwin GCC (Windows POSIX-enabled executables via linking to cygwin1.dll)

    PACKAGE                    TARGET ARCH    MAIN BINARY + LINKS (except versioned link)
    gcc-core                   x86_64         /usr/bin/gcc.exe
                                              /usr/bin/cc (symlink)
                                              /usr/bin/x86_64-pc-cygwin-gcc.exe (hard link)
    cygwin32-gcc-core          x86            /usr/bin/i686-pc-cygwin-gcc.exe

PROJECT: MinGW (Windows 32-bit standalone executables)

    PACKAGE                    TARGET ARCH    MAIN BINARY + LINKS (except versioned link)
    mingw-gcc-core             x86            /usr/bin/i686-pc-mingw32-gcc.exe

PROJECT MinGW-w64 (fork from MinGW for building 64-bit)

    PACKAGE                    TARGET ARCH    MAIN BINARY + LINKS (except versioned link)
    mingw64-i686-gcc-core      x86            /usr/bin/i686-w64-mingw32-gcc.exe
    mingw64-x86_64-gcc-core    x86_64         /usr/bin/x86_64-w64-mingw32-gcc.exe