私はソースから何かを構築しています。私のシステムのgccとstdlibC++は古すぎますが、使用できるclangビルドがあります。デフォルトでは、clangはstdlibC++を使用しますが、clangが使用するためにlibC++をインストールすることもできます。libC++がインストールされているかどうかを確認する方法は?
libC++にclangがインストールされているかどうかを確認する最も良い方法は何ですか?
私はソースから何かを構築しています。私のシステムのgccとstdlibC++は古すぎますが、使用できるclangビルドがあります。デフォルトでは、clangはstdlibC++を使用しますが、clangが使用するためにlibC++をインストールすることもできます。libC++がインストールされているかどうかを確認する方法は?
libC++にclangがインストールされているかどうかを確認する最も良い方法は何ですか?
わずかに良い答え#define _LIBCPP_VERSION 3700
は、その後、あなたは++ libcを持っています。
この1つのライナーが好ましい。少なくとも私のシステムでは、コマンド全体を再入力せずにn.m.のアプローチを変更することはできませんでした。
'#include
gccとclangの両方が混乱する可能性があります。コードをC++としてコンパイルするには、clang
の代わりにgcc
の代わりにg++
、それぞれclang++
を使用する必要があります。
ほとんどのプログラムがそれらに依存しているので、私はlibc++
ライブラリ自体が欠けているとは思っていません。
さて、それはコンパイラ自体を設定することです。 cmakeはclang ++の代わりにclangを内部的に呼び出すかもしれませんが、コンパイラを設定するための変数が必要だと思います。(自分自身には1つあります) –
ライブラリがないと驚いています。指示がある場合、Gccはそのライブラリにリンクすることができます。 –
...コメントを削除し、downvotingは完全に無礼です! Lol –
は、ここでライブラリがインストールされているかどうかを確認する方法は次のとおりです。端子に
タイプldconfig -p | grep libc++
。どのシステムを使用しているかは関係ありません。 libC++がインストールされていない場合、端末は何も言わないでしょう。インストールされている場合は、使用可能なバージョンが表示されます。
@okovkoこれをチェックしてください。システムにソフトウェアをインストールする方法を説明します。それを試してみてください。 https://ask.fedoraproject.org/en/question/7863/how-do-i-search-for-and-install-software-packages-in-fedora/それ以降、このディスカッションは廃止されたため削除できます。 –
新鮮なものをインストールするだけでいいですが、それは私のシステムではないので、問題はありません。 – okovko
@okovkoあなたがそれを使うことができる場合に備えて、それは便利です。このディスカッションを廃止された時点で削除しましょう。 –
のlibC++がインストールされているかどうかを確認する最も簡単な方法は、些細なプログラムでそれを使用することです:
clang++ -xc++ -stdlib=libc++ - <<EOF
int main(){}
EOF
これが失敗した場合は、libcの++を持っていません。実際のアプリケーションで
、ユーザーが提供するコンパイラとリンカオプションを追加します。
clang++ $(CXXFLAGS) $(LDFLAGS) -xc++ -stdlib=libc++ - <<EOF
ユーザーはlibcの++は、非標準の場所にインストールされていることを指定する機会を持つように。それは何か印刷した場合
printf "#include <ciso646>\nint main() {}" | clang -E -stdlib=libc++ -x c++ -dM - | grep _LIBCPP_VERSION
:N、N- @より
[libC++ docs](http://libcxx.llvm.org/docs/UsingLibcxx。html)は、$(CXXFLAGS)と$(LDFLAGS)が実用的なアプリケーションになることの詳細を提供します。 – okovko
エラーは何ですか? –
どのようなシステムですか?さまざまなリヌースで、あなたが持っているパッケージマネージャ(apt、yum、rpm ...)のためにパッケージマネージャのクエリスイッチを使います。マニュアルページまたは--helpを使用してください。 – CarlH
C++を使用するには、コマンドとして明示的に 'clang ++ 'を使用する必要があります。 –