2015-07-10 9 views
0

Я использую boost 1.54 и Qt версии 5.2.1.Ошибка: «boost :: Q_FOREACH» не был объявлен

Я получаю следующее сообщение об ошибке, когда я пытаюсь построить пакет

/usr/include/boost/multi_index/sequenced_index.hpp:927:10: error: 'boost::Q_FOREACH’ has not been declared 
boost::foreach::tag 
     ^

/usr/include/boost/multi_index/ordered_index.hpp:1399:10: error: ‘boost::Q_FOREACH’ has not been declared 
boost::foreach::tag) 
    ^

Checked заголовок в sequenced_index.hpp, ordered_index.hpp, они оба имеют foreach_fwd.hpp и foreach.hpp включены. Я попытался включить CONFIG += no_keywords в файл проекта (.pro). Но все же я получаю эту ошибку. Я не уверен, в чем причина.

+0

У вас есть макрос с именем 'foreach', который будет расширяться до' Q_FOREACH'? – Praetorian

+0

Вы повторно запустили qmake после добавления no_keywords в CONFIG? – MrEricSir

+0

@MrEricSir: Спасибо. Я больше не получаю эту ошибку, но у меня появилась новая ошибка 'error: expected ':' before 'slots';' 'error: 'slots' не называет тип' 'error: 'signals' not name a type' Я пробовал следовать этому [link] (http://doc.qt.io/qt-5/signalsandslots.html#using-qt-with-3rd-party-signals-and-slots). И эта ошибка исчезла. Теперь я получаю странные ошибки. – user127032

ответ

0

Для записи эта проблема была circumvented для предстоящего выпуска Boost 1.60, так что вы можете позволить Qt определить макрос foreach.

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

  • Нет связанных вопросов^_^