--copt
- для передачи аргументов компилятору.
-c
- это краткая форма - режим компиляции .Его эффект описан в руководстве пользователя :
- Устанавливает параметры компилятора (например,
-c opt
подразумевает -O2 -DNDEBUG
) - Существуют разные выходные каталогина режим компиляции, так что вы можете переключаться между отладочной и оптимизированной сборками без полной перекомпиляции.
Так что обычно достаточно -c opt
.Если вам нужно поведение -c opt
, но с другим уровнем оптимизации, вы объедините два параметра, как в -c opt --copt=-O3
, и компилятор получит оба параметра -O2
и -O3
, но последний из них выиграет.
И остерегайтесь, существует третий аналогичный вариант:
--config=configname
для выбора конфигурации.Вы можете иметь .bazelrc
, который определяет параметры по умолчанию.Некоторые из них не всегда активны, но некоторые, только если вы активируете их с помощью параметра командной строки --config=configname
.Сейчас opt
является популярным именем, поэтому если у вас есть .bazelrc
, который содержит
build:opt --copt=-O3
, то bazel build --config=opt
имеет тот же эффект, что и bazel build --copt=-O3