gcc позволяет вам указать, что определенные пути включения библиотек должны обрабатываться как системные библиотеки с переключателем -isystem
, который обеспечивает специальную обработку этих заголовков в отношении флагов, которые вы используете в остальной части кода.,Так, например, если у вас есть неиспользованные локальные typedefs от использования определенных библиотек Boost в test.cpp
(я недавно столкнулся с этим, включая библиотеку Boost signals2
)
g++ -o test{,.cpp} -Wall -Wextra -Werror -I /usr/local/boost-1.55.0/include -L /usr/local/boost-1.55.0/lib
, и вышеописанное не создает чисто, попробуйтеследующее
g++ -o test{,.cpp} -Wall -Wextra -Werror -isystem /usr/local/boost-1.55.0/include -L /usr/local/boost-1.55.0/lib
, которое будет (при условии, что предупреждения, поступающие из библиотек Boost, которые вы включаете в test.cpp
, являются вашей единственной проблемой, конечно).