Для разработки/тестирования нашего кода CFD мне нравится часто переключаться между Clang (для его строгости/предупреждения) и GCC (для производительности), но для этого требуется некоторое его зависимостей (например, NetCDF), которые должны быть скомпилированы с одним и тем же компилятором.Установите то же программное обеспечение/версию с разными компиляторами бок о бок
Я знаю, что Homebrew имеет возможность установки нескольких версий программного обеспечения side-by-side и switch между ними, но это можно сделать что-то подобное, используя ту же версию программного обеспечения, но скомпилирован с различными компиляторами (путем установки HOMEBREW_CC
и HOMEBREW_CXX
)?
Нечто подобное (выдавать желаемое за действительное, после того, как-то установка NetCDF как с Clang и GCC):
brew switch netcdf 4.3.3-gcc
brew switch netcdf 4.3.3-clang
* «Я не рекомендую это делать, это слишком много хлопот» *; Я бы согласился в целом, но в этом случае зависимость «кошмар» очень минимальна. * "... тогда я бы построил их для изолированных деревьев папок вне ..." *; Вот как я сейчас это делаю, но создаю пакеты вручную. Можно ли это обрабатывать с помощью Homebrew? Теперь я обычно копирую-вставляю параметры/настройки сборки, предоставляемые формулой Homebrew. – Bart
Как я уже говорил, только с использованием разных номеров версий. Теперь вы можете «перестроить пакет» каждый раз, когда хотите переключить компилятор, используя переменные компилятора, как вы упомянули. Но у меня такое чувство, что вы не пытаетесь это сделать. Brew просто не был разработан для этого прецедента. –