1

YouCompleteMe - Vim 用のコード オートコンプリートは、Clang (および libtinfo.so.5 ?) を使用して C 言語をサポートします。それは素晴らしい仕事をしますが、C ++に「将来の」ライブラリを含めると失敗します。std::packaged_task、std::promise、std::future が名前空間 std のメンバーではないというエラーが表示されます。問題は、「将来」ライブラリによって提供される将来、約束、およびその他のオブジェクトを含むg ++またはclang ++でプログラムをコンパイルできることです。では、なぜ YCM はそのライブラリのメンバー オブジェクトを識別できないのでしょうか?

Visual Studio Code - コーディングのための美しいプラットフォーム。2 つの拡張機能を追加しました。Clang 拡張機能と、C/C++ 拡張機能の完全なサポートです。うまく機能しますが、「将来の」ライブラリを特定できません。VSC は将来のライブラリを含めてもエラーにはなりません。そのライブラリによって提供されるオブジェクト (std::future、std::promise など) を作成しようとするとエラーになります。なぜ VS でさえそのメンバーの識別に失敗するのか図書館?

問題は、このライブラリで何が起こっているのか、そのライブラリのオブジェクトを作成する時点で 2 つのプラットフォームが失敗するのはなぜですか?

私の考え:

1) Clang に問題はありません - std::future と std::promise を含むプログラムをコンパイルできます。

2)「将来の」ライブラリ自体に問題はありません。それを正常にインクルードしてコードをコンパイルできます。

3) libtinfo.so.5 のせいかもしれません。デフォルトでは、新しいものがあります:libtinfo.so.6(私はfedora 24を使用しています); そのため、手動で libtinfo.so.5 を lib64 ディレクトリに追加しました。

4) この問題について、インターネット上で同様のものを見つけることができません。それで、それは非常に具体的な問題かもしれませんか?

編集: C/C++用のEclipse IDEでも動作しないようです

4

0 に答える 0