2016-06-13 3 views
2

Я использую Qt для записи настольного приложения, которое включает внешнюю библиотеку. Проблема заключается в том, что я получаю сообщение об ошибке, когда в том числе внешней библиотеки:C++, Qt: переменная с именем «слоты» в включенной внешней библиотеке

.../sc_containers.h:667: error: expected unqualified-id before ';' token 
    sc_array_t   *slots; 
          ^

Я успешно включал ту же библиотеку в не кварт проект раньше, поэтому я полагаю, что эта ошибка связана с тем, что Qt использует slots как специальное ключевое слово (см. here в документации Qt).

Есть ли способ, которым я могу использовать эту внешнюю библиотеку в своей программе? Поскольку это не моя собственная библиотека, изменение имени переменной на что-то еще не является вариантом.

Заранее благодарен!

ответ

9

Добавление QT_NO_KEYWORDS() определения для вашей сборки будет препятствовать Qt от определения foreach, signals, slots, которые могут столкнуться с другими структурами.

Связанные ответ:

Связанные док:

+2

Альтернативный способ: 'CONFIG + = no_keywords' в файле .pro. – peppe

+0

@peppe yup, это указано в связанном ответе – alediaferia

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