Отключение предупреждений о Boost заголовках в XCode 4.1 - PullRequest
2 голосов
/ 05 сентября 2011

Я пишу программу на C ++, которая использует Boost, используя XCode 4.1 в качестве IDE и внешнего интерфейса компилятора. Я получаю довольно много предупреждений в различных заголовках Boost, и я хотел бы отключить все предупреждения для этих заголовков (но все же включить их для моего собственного проекта). Есть ли простой способ сделать это?

Here's my search path settings

Ответы [ 2 ]

3 голосов
/ 05 сентября 2011

Я нашел достойное решение, основанное на том, что @Georg Fritzsche предложил: Я добавил различные инкриминированные заголовки повышения в файл .pch (предварительно скомпилированный заголовок) и обернул их вокруг блока #pragma push - #pragma pop, например:

// We do not want to have warnings about Boost headers!
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wshadow"

#include <boost/date_time/posix_time/posix_time_types.hpp>
...
#pragma GCC diagnostic pop

Это работает отлично, и это не так раздражает, как необходимость заключать в заголовки повышения #pragma в каждом файле .cpp, как я и опасался.

2 голосов
/ 27 ноября 2014

Другое решение, которое я нашел для работы в Xcode 5.x (но ожидается, что оно будет работать с Xcode 4). В Настройки сборки в зависимости от цели Boost вместо того, чтобы указывать путь заголовков в Header Search Paths, я пишу его в Other C++ Flags с префиксом -isystem

snapshot of the other C++ flags

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...