Флаги по умолчанию для компилятора gcc в Eclipse - PullRequest
4 голосов
/ 02 февраля 2010

Я хочу, чтобы все мои программы на C были скомпилированы с параметрами -Wall -pedantic -ansi по умолчанию. Есть ли способ заставить Eclipse добавить эти флаги в команду компилятора по умолчанию для всех проектов?

Ответы [ 5 ]

1 голос
/ 22 июня 2012

Eclipse в Windows: Для проекта: Свойства -> Сборка C / C ++ -> Настройка, кроме вкладки «Настройка инструмента». выберите «CGG C ++ Compiler», чем справа вы увидите команду: g ++ измените его на Command: g ++ CFLAGS, например, если вы хотите иметь поддержку C ++ 11, измените на Command: g ++ --std = c ++ 11

PS: эта модификация будет действительна только для текущего проекта и только для текущей конфигурации. Если вы хотите это для всех конфигураций, измените каждую конфигурацию (Run, Debug) аналогичным образом.

1 голос
/ 09 февраля 2010

Назначьте CFLAGS для включения этих значений и заставьте Eclipse запустить инструмент, который по умолчанию использует эту переменную среды при компиляции (например, make).

Возможно, вам придется указать переменные среды перед запуском Eclipse (а затем они наследуются при запуске Eclipse make), но может быть способ указать среду по умолчанию в Eclipse.

(Я не использую Eclipse, поэтому мне нужно будет узнать об установке и тестировании этого; или, возможно, этот ответ может привести в замешательство чью-то память, если так, не стесняйтесь редактировать.)


Кроме того, вы можете захотеть -std = c99 вместо -ansi. Опция -ansi означает просто -std = c89 или -std = c ++ 98, в зависимости от того, компилируете ли вы C или C ++, и оба эти стандарта показывают их возраст.


Я установил Eclipse внутри виртуальной машины, работающей под Windows, чтобы проверить это, и, хотя CFLAGS находится в среде, Eclipse не использует его. Eclipse также делает вид (отображая текст, как «make all» и «make clean»), что он запускает make в нескольких ситуациях / проектах, которые я пробовал, когда он на самом деле не использует make (возможно, с использованием некоторого внутреннего движка). Этот ответ был на неправильном пути для Eclipse.

1 голос
/ 03 февраля 2010

Если вы используете внутренний конструктор Eclipse, перейдите в Предпочтения-> C / C ++ Build-> Настройки

Выберите раздел предупреждений для компилятора, есть флажки для -Wall и -pedantic Набор для -ansi в Разное

Как отмечает OP, это просто для каждого проекта не глобальная настройка

0 голосов
/ 11 февраля 2010

Да, Запуск от имени -> Запуск конфигурации -> 1-я вкладка «Главная», выберите вторую вкладку (рядом с ней), у вас есть поле аргументов, вставьте -Wall -pedantic -ansi и просто примените, затем запустите. Каждый раз при следующем запуске вы будете иметь эти аргументы по умолчанию

0 голосов
/ 10 февраля 2010

EDIT: я вижу, что OP запускает Windows из предыдущего комментария, однако следующая информация может помочь пользователям Eclipse на платформе Linux, если Eclipse соблюдает псевдоним.


Работаете ли вы в Eclipse в Linux? Если это так, попробуйте использовать псевдоним команды gcc; запустите это в терминале:

alias gcc='gcc -Wall -pedantic -ansi'

Это распространенный метод в Linux для указания параметров по умолчанию для приложения. Однако Eclipse может выполнить само приложение gcc и игнорировать псевдоним; Я не проверял это.

...