Какое правильное имя пакета для 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.