Я использую Qt Creator для проекта на C ++, и некоторые заголовки содержат внешние блоки "C" с объявлениями функций, которые содержат несовместимый с C код, такой как параметры по умолчанию и использование bool / true / false.
Я использую Qt 5.11 в Ununtu 5.11.
Вот пример фрагмента внешнего блока:
#ifdef __cpluscplus
extern "C" {
#endif
int foo (int param1, int param2, int param3=0);
bool bar(int param);
#ifdef __cpluscplus
}
#endif
Это приведет к следующим ошибкам компиляции соответственно:
file.h: expected ‘;’, ‘,’ or ‘)’ before ‘=’ token
file.h: error: unknown type name ‘bool’
Это компилируется без проблем с Makefile, но когда я использую qmake с Qt Creator, я получаю эти ошибки.Я не могу изменить этот заголовок, потому что он отмечен в используемом коде.
У меня есть проект Qt, который я пытаюсь интегрировать с существующей кодовой базой, которую я не могу изменить.
Пожалуйста, дайте мне знать, каковы мои варианты?Выключить флаг "__cplusplus"?