Ты дополняешь меня — автозаполнение кода для Vim использует Clang (и libtinfo.so.5?) для поддержки языков Си. Это делает большую работу, но терпит неудачу, когда я включаю «будущую» библиотеку в C ++. Это показывает мне ошибку, что std :: packaged_task, std :: обещание, std :: future не являются членами пространства имен std. Дело в том, что я могу компилировать программы с g ++ или clang ++, содержащие объекты future, обещания и другие объекты, предоставляемые библиотекой «future». Так почему же YCM не может определить объекты-члены этой библиотеки?
Visual Studio Code — красивая платформа для кодирования. Я добавил два расширения: расширение Clang и полную поддержку расширения C / C ++. Это работает хорошо, но снова не в состоянии идентифицировать мою «будущую» библиотеку. VSC не ошибается при включении будущей библиотеки, он ошибается, когда я пытаюсь создать объект, предоставляемый этой библиотекой — std :: future, std :: обещание и т. Д. Так почему даже VS не может идентифицировать членов этой библиотеки?
Вопрос в том — что происходит с этой библиотекой и почему две платформы терпят неудачу в момент создания объекта этой библиотеки?
Мои мысли:
1) С Clang не может быть проблем — я могу скомпилировать программы, содержащие std :: future и std :: prom;
2) Не может быть проблемы с самой «будущей» библиотекой — я могу успешно включить ее и скомпилировать код с ней;
3) Возможно, это вина libtinfo.so.5. По умолчанию у меня более новый: libtinfo.so.6 (я на Fedora 24); поэтому я вручную добавил libtinfo.so.5 в каталог lib64.
4) Не могу найти в интернете ничего похожего по этой проблеме. Так что это может быть очень конкретная проблема?
РЕДАКТИРОВАТЬ: Кажется, что я не могу заставить его работать даже на Eclipse IDE для C / C ++
Задача ещё не решена.
Других решений пока нет …