2016-05-02 5 views
0

Чтобы добавить библиотеку protobuf из google в мой проект Qt, я сделал следующие шаги. Я использую Windows 10 и Qt 5.6 с компилятором mingw32.Добавление буфера протокола Google в Qt; Отключить предупреждения компилятора

1 Установите Protobuf

Поэтому я установил MSYS с MinGW и cd в каталог protobuf-3.0.0-beta-2 где я управлял конфигурационный скрипт ./configure --prefix= 'cd /c/qt/Tools/mingw492_32/ ; pwd -W убедившись установить Protobuf в каталоге компилятора Qt. Впоследствии я побежал make и make install.

2 Скомпилировать проект с Protobuf

Теперь я добавляю включать путь INCLUDEPATH += C:/qt/tools/mingw492_32/include и путь к библиотеке LIBS += $$PWD/../protobuf-3.0.0-beta-2/src/libs/libprotobuf.a к моим файлам проекта Qt, чтобы сделать Protobuf Google доступны.

Компиляция моего проекта работает, но я получаю много предупреждений, так как в библиотеке protobuf имеется много неиспользуемых параметров/фиктивных функций. Есть ли способ превратить предупреждения, полученные из внешней библиотеки protobuf?

ответ

1

Необходимо сообщить компилятору, что заголовки protobuf являются системными заголовками. Флаг -I сообщает компилятору, где искать несистемные заголовки, тогда как -isystem содержит каталоги, содержащие системные заголовки. Заголовки системы не выдают предупреждений. Но INCLUDEPATH использует -I.

Вместо:

INCLUDEPATH += C:/qt/tools/mingw492_32/include 

Try:

QMAKE_CXXFLAGS += -isystem C:/qt/tools/mingw492_32/include 
+0

работает как шарм. Благодаря :) – SebNag

Смежные вопросы