#c #windows #gcc #cygwin #ccache
#c #Windows #gcc #cygwin #ccache
Вопрос:
Я не могу настроить Ccache в Windows с помощью Cygwin.
Что я хочу сделать? Я хочу установить CCache на ПК с Windows, чтобы я мог использовать его для компиляции проектов на C и C .
Я почти ничего не знаю о C / C и обо всем, что касается компилятора GCC / G .
основные источники моих подходов:
— https://wiki .archlinux.org/index.php/ccache
— http://charette.no-ip.com:81/programming/2016-02-07_CCache/index.html
— https://askubuntu.com/questions/470545/how-do-i-set-up-ccache
Ccache создан только для Unix-систем, поэтому для получения команд bash я установил Cygwin для Windows.
Я также установил MinGW32 на свой диск C: /. В Cygwin я установил следующие пакеты: (Просмотр: Выбранный)
- autoconfig 13-1
- ccache 3.1.9-2
- ccache-debuginfo 3.1.9-2
- fish 2.7.0-1
- gcc-tools-epoch2-autoconf 2.64-2
- gperf 3.1-1
- libgcc1 7.4.0-1
- make 4.2.1-2
- mingw64x86_64-gcc-core 7.4.0-1
- mingw64x86_64-gcc-debuginfo 7.4.0-1
- mingw64x86_64-gcc-g 7.4.0-1
После установки я могу использовать «ccache -V» внутри Cygwin, и он сообщает мне, что я получил версию 3.1.9
согласно руководствам, которые я выполняю, я должен получить:
/usr/lib/ccache/gcc
/usr/lib/ccache/g
если я введу команду: «какой gcc g «.
Но я получаю по умолчанию следующее:
/cygdrive/c/mingw/bin/gcc
/cygdrive/c/mingw/bin/g
Итак, я хотел изменить путь.
Но структура ccache внутри cygwin, похоже, сильно отличается от того, когда вы устанавливаете его с помощью sudo на компьютере unix.
Я не могу найти какие-либо компиляторы gcc или g внутри ccache или вообще в cygwin.
Но ccache также отсутствует в usr / lib / ccache в cygwin. Если я введу «какой ccache», он даст мне путь usr / bin / ccache.
У меня нет идей, и кажется, что мне просто не хватает знаний о компиляторах C в целом, чтобы получить представление о том, что делать / где искать.
Комментарии:
1. Visual Studio также имеет «предварительно скомпилированные заголовки», чтобы делать то, что вы хотите. Забудьте обо всем, что связано с cygwin, и вообще обо всем, что пытается реализовать аспекты программирования Linux в Windows.
2. Я хотел бы рассказать вам о настройке этого, потому что это не сложно. Но, может быть, вы могли бы добавить кое-что еще о том, какие «проекты на C и C » вы хотите создать. Вы имеете в виду только некоторые общие программы Windows (в этом случае вам лучше использовать Visual Studio)? Или вы пытаетесь скомпилировать Linux и / или POSIX-ориентированный код с помощью связанных с ними инструментов сборки? Что конкретно вы пытаетесь сделать.
3. Что касается Cygwin против MingGW, это две отдельные, в основном несовместимые вещи. MinGW — это набор общих инструментов сборки UNIX и связанных со сборкой инструментов, скомпилированных изначально для Windows, так что легко запускать gcc в Windows и некоторые другие вещи, но он не обеспечивает полный уровень эмуляции POSIX. Это то, что делает Cygwin. Cygwin предоставляет более «полный» UNIX-подобный интерфейс в Windows с поддержкой компиляции и запуска большинства POSIX-совместимого кода практически без изменений. Если вы хотите полностью использовать UNIX-подобный интерфейс на рабочем столе Windows, используйте это.
4. Причина
which gcc
, по которой что-то возвращается, заключается в том,/cygdrive/c/mingw
что так или иначе вы закончили (возможно, через a.bashrc
или a.profile
)? с конфигурацией, котораяC:MinGW
слишком рано ставит на ваш$PATH
. Это, или вы просто не установили пакет gcc Cygwin.5. Путь установки оболочек компилятора ccache, подобных
/usr/lib/ccache/gcc
вашему$PATH
, по умолчанию отсутствует. Обычная вещь, которую нужно сделать для настройки ccache, — это вручную создать символическую ссылку, напримерln -s /usr/lib/ccache/gcc /usr/local/bin/gcc
./usr/local/bin
обычно перед/usr/bin
on$PATH
, так что это переопределит ваше значение по умолчаниюgcc
.