cygwin中gcc的正确包名是什么?
我需要在cygwin上安装gcc, 但是,当我在cygwin安装程序中搜索gcc时,我会得到几个名称中带有字符串“gcc”的结果,例如:cygwin中gcc的正确包名是什么?,gcc,compilation,cygwin,installation,packages,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++ ....
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,然后继续这样做”,而且“他们从来没有提到上面的哪个gcc包是唯一正确的
好像世界各地的每个人都知道哪一个gcc是正确的,而且信息在网上找不到
我希望得到澄清和进一步帮助
编辑:
在过去的某个时候,实际上曾经有一个名为“gcc”的包,
我从这里的截图中发现:
我不知道那是多少年前的事了。以下是在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位二进制文件的用于生成64位二进制文件
mingw-gcc-core
mingw-gcc-g++
....
mingw64-i686-gcc-core
mingw64-i686-gcc-g++
请注意,您可以在中看到所有这些信息。使Cygwin GCC包混淆的是:
和gcc-core
的关系令人困惑(cygwinXX-gcc-core
是32还是64取决于您的Cygwin体系结构)XX
- 对于MinGW和MinGW-w64,都有不同的项目包,尽管许多人不知道它们的共存(我曾经是)
这取决于你计划使用什么语言——如果你不需要Ada、Fortran等,那么就不要安装它们。但是,一旦我安装了gcc安装,我是否需要做一些非常重要的事情,以确保环境知道,当在终端中键入“gcc”时,脑海中的特定gcc就是要使用的?另外,如果是这样的话,那么我是否需要为我正在执行的每个独特的编译执行此操作?一次又一次地(假设我——我不知道如何知道——可能会看到我下载的某个源需要gcc-x,另一个需要gcc-y,我会在它们之间切换,其中一个是“MAIN-USED-gcc”)。OP的第一条评论的答案是设置CC环境变量,例如。,
导出CC=cygwin32 gcc
。请参阅另一个示例。尽管您对gcc核心的看法有点错误,但我还是投了赞成票。请看我的答案。非常好的答案,但你没有真正提到差异。
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
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