Russian Qt Forum
Март 28, 2024, 16:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Подсветка синтаксиса в QtCreator  (Прочитано 6855 раз)
teatralaik
Новичок

Offline Offline

Сообщений: 11


Просмотр профиля
« : Март 29, 2017, 16:57 »

Добрый день! Креатор подсвечивает как ошибку совершенно исправный и компилирующийся gcc код из С++11 и С++14. Например:
Код:
std::this_thread::sleep_for(5s);
Или
Код:
std::map<int, int> mp;
decltype(mp)::mapped_type t;
Ужасно раздражает, можно ли что-то с этим сделать?
Заранее спасибо
Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #1 : Март 29, 2017, 17:15 »

У меня на приведённый код ошибки не подсвечиваются.

На что именно и какая ошибка выводится? Какая версия креатора? Будет хорошо, если приложите минимальный проект (в частности проектный файл pro/qbs).
Записан

Пока сам не сделаешь...
teatralaik
Новичок

Offline Offline

Сообщений: 11


Просмотр профиля
« Ответ #2 : Март 29, 2017, 17:39 »

QtCreator 4.2.1
Код:
#include <iostream>
#include <chrono>
#include <thread>
#include <future>
#include <map>
using namespace std::chrono;
using namespace std::chrono_literals;
using namespace std;

int find_answer_to_the_ultimate_question_of_life()
{
    std::map<int, int> mp;
    decltype(mp)::mapped_type t; // <-- unexpected token t

    //Поиск ответа
    std::this_thread::sleep_for(5s); //  <-- unexpected token ';' got '<error>'
    return 42;
}

int main()
{

    std::future<int> f = std::async(std::launch::async,
                                    find_answer_to_the_ultimate_question_of_life);

    if (f.wait_for(5500ms) == std::future_status::ready ) <-- unexpected token ')' got '<error>'
        std::cout << "Answer is: " << f.get() << "\n";
    else
        std::cout << "Can't wait anymore\n";
    return 0;
}

Юзаю qmake, поэтому вот pro-файл:
Код:
TEMPLATE = app
CONFIG += console
CONFIG += c++14

SOURCES += main.cpp

QMAKE_CXXFLAGS=-std=c++14
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #3 : Март 29, 2017, 18:02 »

QMAKE_CXXFLAGS=-std=c++14 - лишнее.

Под виндой у меня всё робит. 4,2,0
Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #4 : Март 29, 2017, 18:05 »

Проверьте, включен ли в креаторе плагин ClangCodeModel ("Help/About Plugins..." ).

Если его отключить, то у меня тоже эти ошибки начинают подсвечиваться. Если он включен, то всё нормально.

В настройках креатора "Options/C++/Code Model" можно настраивать, какие предупреждения будут анализироваться  и подсвечиваться.
Записан

Пока сам не сделаешь...
teatralaik
Новичок

Offline Offline

Сообщений: 11


Просмотр профиля
« Ответ #5 : Март 30, 2017, 12:05 »

Да, действительно, теперь не подкрашивает! спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 23.