Добавление переключателя компилятора в Eclipse CDT Генерация настроек встроенного компилятора? - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть проект Eclipse CDT на основе Makefile, и в Project > Properties > C/C++ General > Preprocessor Include Paths, Macros etc. > GNU C++ > CDT GCC Built-in Compiler Settings > __cplusplus значение равно 201402L

У меня установлен флаг -std=c++17 в моем Makefile, поэтому фактическое значение этого предопределенного макросаis 201703L not 201402L.

Очевидно, что список предопределенных макросов в GCC Built-In Compiler Settings был создан без флага -std=c++17.

Можно ли установить флаги компилятора, которыеиспользуются для генерации списка предопределенных макросов в CDT GCC Built-in Compiler Settings и запускают их регенерацию?Если да, то где / как это настроено?

1 Ответ

0 голосов
/ 25 сентября 2018

На той же странице настроек, если вы перейдете на вкладку Providers (вместо Entries) и выберите провайдера CDT GCC Built-in Compiler Settings, там будет Command to get compiler specs.Вы можете изменить эту команду, например, добавив -std=c++17.Нажав Apply на этой странице, вы автоматически запустите провайдер и обновите список предопределенных макросов.

Вы также можете настроить это рабочее пространство в Window -> Preferences -> C/C++ -> Build -> Settings -> Discovery tab.Флажок Use global provider shared between projects (чуть выше Command to get compiler specs) определяет, использует ли проект настройки всей рабочей области или свои собственные.

...