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

标签 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 的突触中搜索 gcc 时,我有一个非常明显的结果
我想用这些名字做什么?全部安装?
安装一个随机的,然后创建符号链接(symbolic link)到它的二进制文件可能到达/usr/bin/gcc 的位置?

当我尝试搜索我一直在网上阅读的那个我需要构建不在 cygwin 安装程序上的包的 gcc 时,显示的这些许多包名称可以实现什么用途和生产力?

我到处读到“在 cygwin 上安装 gcc,然后继续做这个那个”,他们从来没有提到上面的哪个 gcc 包是正确的,

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

我将不胜感激澄清和进一步的帮助。

编辑:
在过去的某个时候,实际上曾经有一个名为“gcc”的包,
我从这里的截图中发现:
http://www.eecg.utoronto.ca/~aamodt/ece242/cygwin.html

我不知道那是多少年前的事了。

最佳答案

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

  • gcc-corecygwinXX-gcc-core相关性令人困惑(XX 是 32 或 64,具体取决于您的 Cygwin 架构)。
  • 都有包明威 MinGW-w64 ,这是不同的项目,尽管很多人不知道它们的共存(我是)。

  • 截至 2015 年 10 月,Cygwin GCC 包是这样分解的。

    Cygwin x86 (32 位):

    项目:Cygwin GCC(通过链接到 cygwin1.dll 启用 Windows POSIX 的可执行文件)

    PACKAGE TARGET ARCH MAIN BINARY + LINKS(版本化链接除外)
    gcc-core x86/usr/bin/gcc.exe
    /usr/bin/cc(符号链接(symbolic link))
    /usr/bin/i686-pc-cygwin-gcc.exe(硬链接(hard link))
    cygwin64-gcc-core x86_64/usr/bin/x86_64-pc-cygwin-gcc.exe

    项目:MinGW(Windows 32 位独立可执行文件)

    PACKAGE TARGET ARCH MAIN BINARY + LINKS(版本化链接除外)
    mingw-gcc-core x86/usr/bin/i686-pc-mingw32-gcc.exe

    PROJECT MinGW-w64(来自 MinGW 的用于构建 64 位的分支)

    PACKAGE TARGET ARCH MAIN BINARY + LINKS(版本化链接除外)
    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 位):

    项目:Cygwin GCC(通过链接到 cygwin1.dll 启用 Windows POSIX 的可执行文件)

    PACKAGE TARGET ARCH MAIN BINARY + LINKS(版本化链接除外)
    gcc-core x86_64/usr/bin/gcc.exe
    /usr/bin/cc(符号链接(symbolic link))
    /usr/bin/x86_64-pc-cygwin-gcc.exe(硬链接(hard link))
    cygwin32-gcc-core x86/usr/bin/i686-pc-cygwin-gcc.exe

    项目:MinGW(Windows 32 位独立可执行文件)

    PACKAGE TARGET ARCH MAIN BINARY + LINKS(版本化链接除外)
    mingw-gcc-core x86/usr/bin/i686-pc-mingw32-gcc.exe

    PROJECT MinGW-w64(来自 MinGW 的用于构建 64 位的分支)

    PACKAGE TARGET ARCH MAIN BINARY + LINKS(版本化链接除外)
    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

    关于gcc - cygwin 中 gcc 的正确包名是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23971550/

    相关文章:

    c++ - 内联 assembly 约束修饰符 = 和 +

    c++ - 在没有 move 构造函数的情况下返回不可复制对象的解决方法

    c# - 运行时代码编译出错 - 进程无法访问文件

    git - 使用 Git GUI 或 ssh-keygen 的 SSH 私钥权限太开放

    c - 即使重命名符号后全局变量的地址也不会改变

    c - 这两种指针类型真的不兼容吗?

    mysql - 使用 DLZ "/usr/bin/ld: cannot find -lmysqlclient"编译 Bind 时出现 CentOS 错误

    使用头文件编译

    cygwin:C 编译器无法创建可执行文件

    linux - cygwin 中 WinMain@16 下的 undefined reference