Какое правильное имя пакета для gcc в cygwin?

Мне нужно установить gcc на cygwin, но когда я ищу gcc в приложении установки cygwin, я получаю несколько результатов со строкой "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++
...

когда я ищу gcc в synaptic в ubuntu, я получаю очень очевидный результат, что я должен делать с этими именами? установить все? установить случайную, а затем создать символические ссылки, где когда-либо это двоичный файл может попасть в / usr / bin / gcc?

Какую полезность и производительность можно достичь благодаря появлению множества имен пакетов, когда я пытаюсь найти тот единственный gcc, который продолжаю читать в Интернете и который мне нужен для сборки пакетов, которые не установлены в установщике cygwin?

везде, где я читаю об "установке gcc на cygwin, а затем продолжаю делать это и то", они никогда не упоминают, какой из пакетов gcc выше является единственным правильным,

Как и везде, кто-то уже знает, какой gcc является правильным, и эту информацию нельзя найти в Интернете.

Буду признателен за разъяснения и дальнейшую помощь.

РЕДАКТИРОВАТЬ: когда-то в прошлом, на самом деле раньше был пакет под названием просто "gcc", я нашел это на скриншотах здесь: http://www.eecg.utoronto.ca/~aamodt/ece242/cygwin.html

Я не могу сказать, сколько лет назад это было.

2 ответа

Вот что сбивает с толку пакеты Cygwin GCC:

  • gcc-core а также cygwinXX-gcc-core смешно связаны (XX 32 или 64 в зависимости от вашей архитектуры Cygwin).
  • Существуют пакеты как для MinGW, так и для MinGW-w64, которые представляют собой разные проекты, хотя многие люди не знают об их сосуществовании (я был).

По состоянию на октябрь 2015 года пакеты Cygwin GCC разбиваются следующим образом.

В Cygwin x86 (32-разрядная версия):

ПРОЕКТ: Cygwin GCC (исполняемые файлы с поддержкой Windows POSIX через ссылку на cygwin1.dll) ЦЕЛЬ ПАКЕТА ОСНОВНАЯ БИНАРНАЯ + ССЫЛКИ (кроме версионной ссылки)
    gcc-core                   x86            /usr/bin/gcc.exe
                                              /usr/bin/cc (символическая ссылка)
                                              /usr/bin/i686-pc-cygwin-gcc.exe (жесткая ссылка)
    cygwin64-gcc-core          x86_64         /usr/bin/x86_64-pc-cygwin-gcc.exe ПРОЕКТ: MinGW (32-разрядные автономные исполняемые файлы Windows) ПАКЕТ TARGET ARCH    MAIN BINARY + ССЫЛКИ (кроме версионной ссылки)
    mingw-gcc-core             x86            /usr/bin/i686-pc-mingw32-gcc.exe ПРОЕКТ MinGW-w64 (форк из MinGW для сборки 64-бит)

    PACKAGE                    TARGET ARCH    MAIN BINARY + ССЫЛКИ (кроме версионной ссылки)
    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 (исполняемые файлы с поддержкой Windows POSIX через ссылку на cygwin1.dll)

    ЦЕЛЕВОЙ ПАКЕТ ОСНОВНОЙ ДВОЙНОЙ + ССЫЛКИ (кроме версионной ссылки)
    gcc-core                   x86_64         /usr/bin/gcc.exe
                                              /usr/bin/cc (символическая ссылка)
                                              /usr/bin/x86_64-pc-cygwin-gcc.exe (жесткая ссылка)
    cygwin32-gcc-core          x86            /usr/bin/i686-pc-cygwin-gcc.exe

ПРОЕКТ: MinGW (32-битные автономные исполняемые файлы Windows)

    ЦЕЛЕВОЙ ПАКЕТ ОСНОВНОЙ ДВОЙНОЙ + ССЫЛКИ (кроме версионной ссылки)
    mingw-gcc-core x86 /usr/bin/i686-pc-mingw32-gcc.exe

ПРОЕКТ MinGW-w64 (форк от MinGW для сборки 64-бит)

    ЦЕЛЕВОЙ ПАКЕТ ОСНОВНОЙ ДВОЙНОЙ + ССЫЛКИ (кроме версионной ссылки)
    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

Следующее предназначено для компиляции 32-битных двоичных файлов в 64-битном Cygwin:

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.

Другие вопросы по тегам