1

YouCompleteMe - Vim 的代码自动完成器使用 Clang(和 libtinfo.so.5 ?)来支持 C 语言。它做得很好,但是当我在 C++ 中包含“未来”库时失败了。它向我显示了一个错误,即 std::packaged_task、std::promise、std::future 不是命名空间 std 的成员。问题是我可以用 g++ 或 clang++ 编译程序,其中包含由“未来”库提供的未来、承诺和其他对象。那么为什么 YCM 无法识别该库的成员对象呢?

Visual Studio Code - 一个漂亮的编码平台。我添加了两个扩展:Clang 扩展和对 C/C++ 扩展的完整支持。它运行良好,但再次无法识别我的“未来”库。VSC 在包含未来库时不会出错,当我尝试创建该库提供的对象时会出错 - std::future、std::promise 等。那么为什么甚至 VS 都无法识别其中的成员图书馆?

问题是- 这个库发生了什么以及为什么两个平台在创建该库的对象时失败?

我的想法:

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++ 上运行它

4

0 回答 0