問題タブ [clang++]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - libc ++を使用したubuntu 11.04でのclang ++リンクの問題
ubuntu 11.04でlibc ++をコンパイルし、ソフトリンクを作成しました
/usr/lib の下、stl ヘッダー ファイルのソフト リンクも
/usr/include/c++ の下
小さなマルチスレッドの hello world の例をコンパイルすると、コンパイルで次のエラーが返されました。
gcc - 特定のディレクトリに一時ファイルを出力するように gcc/clang に指示する方法
--save-temps オプションを使用して一時ファイルを保存すると、gcc/clang は一時ファイルを入力ファイルと同じディレクトリに出力します。ファイルを他のディレクトリに出力するように gcc に指示するオプションはありますか。
また
--save-temps オプションを使用しない場合、一時ファイルはデフォルト ディレクトリ (つまり、/tmp などの $TMPDIR) に作成されますが、オブジェクト ファイルが作成されると削除されます。それらのファイルを削除するのではなく、それらのファイルを保持するようにコンパイラーに指示する方法はありますか (私は、唯一のオプションは --save-temps であり、これには上記の問題があると思います)
c++ - C++11 での可変個引数テンプレートの特殊化
これはコンパイルされないため、すでに実装されていますか: (gcc 4.7.2 を使用)
clang - C++ 11 コードは `clang++` でコンパイルされますが、`clang -x c++` ではコンパイルされません
基本問題
次のコードがあります
私が行うと、これはうまくコンパイルされますclang++ -stdlib=libc++ cpptest.cpp
。ただし、Sublime Text 2 の優れた SublimeClang パーサーは、それを理解していないようです。clang -x c++
の代わりに を使用していることが原因である可能性があると考え、代わりに (またはそのさまざまな順列)clang++
を使用して上記のスニペットをコンパイルしようとしましclang -x c++ -std=c++11 -stdlib=libc++ cpptest.cpp
たが、リンカについて不平を言ってひどく失敗しました。
だから私の質問は、 とどうclang++
違うのclang -x c++
ですか? 上記のスニペットをclang -x c++
代わりに使用してコンパイルすることは可能clang++
ですか?
私のマシンは、Mountain Lion を実行している 2012 MacBook Air です。
デバッグのもの
仕事に戻って、これでもう少し遊んで、さまざまなバージョンの詳細な出力を比較しました。
通話中clang -x c++
私が走るとき、私clang -v -x c++ -stdlib=libc++ cpptest.cpp
は得る
通話中clang++
私が呼び出すclang++ -v -stdlib=libc++ cpptest.cpp
と、次のようになります。
違いと解決策は?
私が見つけることができる唯一の大きな違いは、フラグを指定してclangを実行すると、-x c++
で-lc++
始まる行の最後にフラグが追加されないこと"/usr/bin/lb"
です。代わりに でコンパイルするとclang -v -lc++ -x c++ -stdlib=libc++ cpptest.cpp
、すべてが機能します。clang++
とコマンドがどのように異なるはずなのかまだ正確にはわかりませんclang -x c++
が、これにより、少なくともサンプルプログラムがコンパイルされ、コマンドがリンカで異なることを行うことを示しているようです。
私のSublime Text 2の問題の解決策
この小さなバグハント全体は、Sublime Text 2 が実際に動作するコードについて不平を言うのをやめる方法を見つけようとしているところから始まりました。必要だったのは、こちらの指示に従い、インクルードを次のように設定することだけでした。
SublimeClang.sublime-settings
ファイルで。
macos - Z3 をコンパイルするために Mac Os X 10.5.8 (Leopard) で clang が機能しないのはなぜですか?
私は Mac のプロ ユーザーではないので、ソフトウェアのインストールに多くの問題を抱えています。Z3Py (Python を使用した Z3 API) を実行したいと思います。Z3 v4.3.1 をダウンロードし、Macports-2.1.2 を使用して clang v2.9 をインストールし、最後に Z3 を実行したときに
私が得ました:
clang++ は /opt/local/libexec/llvm-2.9/bin にあるので
何が起こっているのか、どうすれば解決できるのか理解できません。2日間試しても解決策が見つからなかったので、どんなヒントでも本当に感謝しています.
z3 - Z3 をコンパイルするための Os X 10.5.8 での clang-2.9 の使用
Z3Py を使用したいのですが、http://z3.codeplex.com/SourceControl/changeset/view/89c1785b7322#README の指示に従って Z3 をインストールしようとしてい ます。
make を実行すると、次のようなエラーが発生します。
したがって、これがコードに関連する問題なのか、それともまだ何かが足りないのかわかりません。あるいは、本当に古いバージョンを使用しているのかもしれません。
回答ありがとうございます。
c++ - os x 用のインストール可能な実行可能ファイルを作成する
OS X で clang++ と g++ バージョン 4.7 の両方でコンパイルできるアプリケーションがあります。私が作成したアプリケーションでは、opencv、glfw などのサードパーティ SDK を使用しています。今のところ、実行可能ファイルを作成できますが、依存関係のために自分のコンピューターでのみ実行されます。OS X 開発者がアプリケーションをエクスポートする (つまり、すべてのライブラリを含めてインストール可能または実行可能にする) ために使用するツールは何ですか? もう 1 つの制約として、私の現在の OS はマウンテン ライオンですが、x64 スイッチであった少なくとも 10.6 または 10.5 との下位互換性を維持したいと考えています。
linker - ライブラリを構築するときのclangとclang++の違いは何ですか?
私はclangでacライブラリ(c ++プロジェクトで使用される)をコンパイルしていました。このライブラリをリンクしようとすると、リンカーエラー(具体的には、hqxInit関数に関する未定義のシンボル)が発生しました。clang ++に切り替えると、機能します。nmで確認すると、clang++は名前をさらに変更します。何が起こっているのでしょうか。また、ライブラリがMunged-for-cではなくMunged-for-C ++であることをリンカーに伝えるためのより良い方法はありますか?c++でacライブラリを構築しなければならないのはばかげているようです。
//clangで構築
//clang++で構築
c++ - コードを特定の C/C++ 標準にコンパイルする
これをグーグルで調べてみましたが、基本的なプログラムをコンパイルする方法に関する結果しか得られません。コードを C89、C99、C++98 などにコンパイルするように指定することで、Clang++ と G++ を使用して特定の C++ 標準にコードをコンパイルすることは可能ですか?
c++ - clang++、boost::spirit、および c++11
Xcode 4.6 にパッケージ化された clang++ (clang-421.0.60) を使用していますが、boost::spirit で問題が発生しました。フラグなしでコンパイルすると、すべて正常にコンパイルされます。「-std=c++11」でコンパイルすると、次のエラーが発生します (「boost/spirit/include/qi.hpp」のインクルードで):
問題は、使用されているデフォルト ライブラリ (stdlibc++) が type_traits を 'tr1/type_traits' として定義しているのに対し、boost::spirit は 'type_traits' だけを想定していることです。もちろん、次のようにしてこの問題を解決できます。
私は libc++ を使用したいと思っていますが、実際に使用することは困難です (多くのライブラリはまだ stdlibc++ を使用し、依存しています)。したがって、私は libc++ を使用しないことを余儀なくされています。
これに対処する方法について何か提案はありますか?より多くのライブラリ管理者が libc++ をサポートするか、Apple が stdlibc++ の新しいバージョンを提供してくれることを心から願っています。C++11 の新しい機能にアクセスできるのに、ライブラリのサポートがないためにそれらを十分に活用できないことは大きな不満でした。