QtCreator и ошибки clang.

Ивыч

New member
Сообщения
21
#1
Установлена Astra Linux CE 2.12.45 (Orel) с Qt Creator 4.12.3 (основан на Qt 5.11.0). Есть проблема с clang, который в Qt Creator упорно выдает ошибки (подсвечивает красным) в строках, например:
error: use of undeclared identifier 'va_start'
error: 'stdarg.h' file not found
до тех пор пока в явную не указать в pro/pri файле:
INCLUDEPATH += /usr/lib/gcc/x86_64-linux-gnu/6/include
что, наверное, не очень-то правильно. Компиляция и сборка выполняется успешно и без указания INCLUDEPATH.

Пробовал ставить различные версии clang, clang-tidy, llvm, но все тщетно. Есть подозрение, что проблема в libClangCodeModel.so (версии 4.12.3).
В окне "C++ Code Model Inspector" необходимые пути имеются (BuiltInPath).
Если установить Qt 5.12 такой проблемы нет (libClangCodeModel.so к слову уже другой версии - 5.0.2), но хотелось бы решить ее для Qt 5.11 поставляемым с системой. Кто сталкивался?

P.S. Решает проблему отключение модуля ClangCodeModel, но это весь контроль отключает, а он иногда бывает полезен.
 

Svetimir

New member
Сообщения
3
#2
может попробовать написать <cstdarg> вместо "stdarg.h" ?
 
Последнее редактирование:

Ивыч

New member
Сообщения
21
#3
может попробовать написать <cstdarg> вместо "stdarg.h" ?
cstdarg включает "#include <stdarg.h>", не решает проблемы:
Посмотреть вложение 1.jpg

По F2 (перейти к символу под курсором) без проблем открывает хедер на просмотр в среде.

Уважаемые модераторы: Тему стоит перенести в "Разработка ПО для Astra Linux CE", я ошибся.
 

Ивыч

New member
Сообщения
21
#4
Пришлось подсовывать в pri-файл проекта:
Код:
GCCINSTALL = $$system("$$QMAKE_CC -print-search-dirs | grep 'install:' | sed -e 's/^install: //g'")
!isEmpty(GCCINSTALL) {
    GCCINCLUDE = $$GCCINSTALL/include
    exists($$GCCINCLUDE) {
        INCLUDEPATH += $$GCCINCLUDE
    }
}
другого решения проблемы так и не нашел