YouCompleteMe - Vim的代码自动完成程序使用Clang(和libtinfo.so.5?)来支持C语言。它做得很好但是当我在c ++中包含“future”库时失败了。它向我显示了一个错误,即std :: packaged_task,std :: promise,std :: future不是命名空间std的成员。问题是我可以使用g ++或clang ++编译包含未来,承诺和“未来”库提供的其他对象的程序。 那么为什么YCM无法识别该库的成员对象?
Visual Studio代码 - 一个优美的编码平台。我添加了两个扩展:Clang扩展和对C / C ++扩展的完全支持。它运作良好,但再次无法识别我的“未来”库。 VSC在包含未来的lib时不会让我错误,当我尝试创建该库提供的对象时,它会给我带来错误 - std :: future,std :: promise等等。那么为什么甚至VS都无法识别那个图书馆的成员?
问题是 - 这个lib发生了什么以及为什么两个平台在创建该lib的对象时失败了?
我的想法:
1)Clang不存在问题 - 我可以编译包含std :: future和std :: promise的程序;
2)“未来”库本身不会出现问题 - 我可以成功地包含它并用它编译代码;
3)也许是libtinfo.so.5的错。默认我有更新的:libtinfo.so.6(我在fedora 24上);所以我手动将libtinfo.so.5添加到lib64目录。
4)我在互联网上找不到类似这个问题的类似内容。那么这可能是一个非常具体的问题?
编辑: 似乎即使在Eclipse IDE for C / C ++上我也无法工作