LINUX.ORG.RU

Вопрос по индексация в ecipse

 ,


1

1

Прочитал здесь http://en.cppreference.com/w/cpp/string/basic_string/to_string, что при использование стандарта C++11 появляется возможность использовать std::to_string для преобразования в строку.
Проверил. Так и есть. Код работает. Но eclipse пишет: «Function 'to_string' could not be resolved».
Почему?
Как его заставить проиндексировать новые функции? (Ctrl+R пробовал, не помогло).

★★★★★
Ответ на: комментарий от deterok

Решил добавлением __GXX_EXPERIMENTAL_CXX0X__ и _GLIBCXX_USE_C99 в symbols проекта.

Вообще-то Eclipse должна подхватывать определения, используемые в проекте.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Хм, а где именно они должны определятся?
Я просто сказал компилятору использовать новый стандарт.
Я должен был еще в коде указать, что нужно использовать C++11?

deterok ★★★★★
() автор топика
Ответ на: комментарий от deterok

Ну, я бы сделал так: в Project -> Properties -> C/C++ Build -> Discovery Options выбрал бы Discovery profile Managed Build System и в Compiler invocation arguments поставил бы -std=cxx0x или как там называется эта опция. Хотя, наверное, это лучше ручного указания символов только в случае, когда этих символов достаточно много.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

У меня вообще по умолчанию выключено автоматическое ииследование путей и символов. Написано, что этот метод устаревший и надо использовать preprocessor include patchs.

deterok ★★★★★
() автор топика
Ответ на: комментарий от deterok

У меня вообще по умолчанию выключено автоматическое ииследование путей и символов.

Альтернатива - вбивать символы руками.

Написано, что этот метод устаревший и надо использовать preprocessor include patchs.

(пожимая плечами) Интересно, кто и когда это написал, и насколько хорошо он понимает процесс Си-компиляции.

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.