105

私はc/c++を使用してosxとlinuxの両方のコマンドラインインターフェイス実行可能ファイルを開発しています。プロジェクトはopencvに対してリンクします。libc++またはlibstdc++を使用する必要がありますか?

4

2 に答える 2

32

主要な Linux ディストリビューションでは、次の理由により LLVM libc++ が提供されていません。

  1. Apple や FreeBSD とは異なり、GPL+3 は問題ではないため、ここで別のスタックを実装する必要はありません。
  2. Linux コンポーネントは、長い間 GNU libstd++ を中心に開発されてきました。それらのいくつかは、他の何にも基づいていません。
  3. libc++ は新機能に優れていますが、レガシー コードにはいくつかの問題があります。

最終的に libc++ がディストリビューションの一部になった場合、それはオプションのコンポーネントになります。それに対してリンクするには、おそらく追加のオプションが必要になります。

ジョナサンが言ったように、デフォルトで含まれているツールを使用する必要があります。Clang は Linux で安全に使用できるため、GCC の代替として構成されているため、その点で 2 つのコンパイラについて心配する必要はありません。また、2 つのプラットフォームをターゲットにしているため、cmake を参照する必要があります。

于 2014-01-05T18:38:07.753 に答える