問題タブ [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.
boost - Boost.Wave 1.52は、Darwinでclang++を使用してビルドされません
コンパイルブーストC++11 clang macを適用しましたが、cstddefが見つからず
、次のようにビルドを呼び出しました
./b2 variant=debug,release --layout=versioned toolset=clang cxxflags="-fPIC -std=c++11 -stdlib=libc++ -arch i386 -arch x86_64" linkflags="-stdlib=libc++ -arch i386 -arch x86_64" threading=multi link=shared --stagedir=stage_darwin_intel_shared_mt stage
そして、警告のログとBoost.Waveが失敗することを除いて、すべてが構築されます:http: //pastebin.com/ZHkmTWaq
PSブーストの静的フレーバーはWaveをうまく構築します。
c++ - clang++-テンプレートクラス名をクラススコープのテンプレートとして扱います
clang ++(clang 3.2を試しました)は、テンプレートクラスの名前を、クラススコープ内で発生するテンプレートではなく、インスタンス化されたクラスとして扱うようです。たとえば、次のコード
それをコンパイルするにはどうすればよいですか?
c++ - GCD が実行時間を増加させるのはなぜですか?
Grand Central Dispatch (GCD) を学習し、次のコードを使用してテストします。
GCD の場合:
GCD なし:
GCD でのテスト結果:
GCD なしのテスト:
GCD は実行時間を短縮するはずだと思っていましたが、結果は逆です。GCD を誤用しているかどうかはわかりません。OS環境はMac OS X 10.8 with Xcode 4.5です。コンパイラは Clang++ 3.1 です。ハードウェアは2コアのi5 CPUを搭載したMacbook Pro。
比較のために、OpenMP を使用します (同じラップトップで Xcode 4.5 に同梱されている GCC も使用します)。
そして w/wo (-fopenmp)、テストする実行可能ファイルが 2 つあります。
-fopenmp
コンパイル中のフラグ付き:
-fopenmp
コンパイル中のフラグなし:
OpenMP を使用すると、実行時間が短縮されます。
c++ - 置換の失敗は時々エラーですか?
次のコードsnippletは、'std :: is_constructible <A、int>'を実装しようとします。
g ++を使用すると、これは正常に機能します。clang ++を使用すると、次のエラーが出力されます。
バージョン情報:clangバージョン3.3(trunk 172418)(llvm / trunk 172417)、g ++(Debian 4.7.2-4)4.7.2。
私の質問: 私見これはSFINAEでなければなりません。ここで何かが足りないのですか、それともclang ++に問題がありますか?
(is_constructible()があることは知っていますが、それを使用することは許可されていません。それは私の質問のポイントではありません。)
c++ - libconfig ++ -stdlib =libc++未定義のシンボル
libconfig++が機能する非常に単純な例を取得しようとしています。ただし、コンパイラオプション「-stdlib =libc++」および「-std=c ++ 11」が原因で、次のリンクエラーが発生しています。
環境
ダーウィンiMac.local12.2.0
Darwinカーネルバージョン12.2.0
xnu-2050.18.24〜1 / RELEASE_X86_64 x86_64
ソース
建てる
clang ++ -o main main.cpp -lconfig ++ -stdlib = libc ++ -std = c ++ 11
エラー
c++ - integral_constant およびテンプレート引数の推論
関数に渡されたコンパイル時の定数整数をテンプレート化された型にキャプチャしたいと思います。将来の目標は、-2*i + 3*k のような非常に単純な式 (コンパイル時定数 int と変数の合計) から式を作成する独自の (非常に限定された) 式テンプレートを作成することです。
私は非常にゆっくりと始めています。次のコードがあります。
2*Foo(3) のテンプレート引数推定は失敗します。関数への constexpr パラメータのようなものはないことを読みました。
私が望むものを達成する方法はありますか?
c++ - clang:出力からクラス名を削除します
clang++
次のコマンドラインコマンド(行に分割)を使用して、を使用してC++プロジェクトをビルドします。
ただし、を実行すると、コマンドラインにあるstrings <filename>
にもかかわらず、いくつかのクラス名が表示されます。llvmにすべてのシンボルを削除するように指示する必要があるものを-O4
試しましたが、これらは削除されません。-Wl,-s
表示されるクラス名には、共通点が1つあるようです。それは、vtableがあるということです。これらのクラスの1つは次のとおりです。
シンボルとして表示されます:
名前空間とクラス名が最終ファイルに表示されるのは気に入らない。これらを取り除くにはどうすればよいですか?私のバイナリはコマンドラインユーティリティなので、main
関数のみをエクスポートする必要があります。
(@nmで提案されているように)提供した後でも-fno-rtti
、次のようないくつかの名前が残っています。
(MyClassInstanceは上記のMyClassのサブクラスです)
さらに、グローバル変数の名前もバイナリに含まれています。
c++ - 値渡し中の暗黙的な変換は機能しますが、参照渡しは機能しません
clang++ 4.1 でのコンパイル:
プリント、
一方、次のように定義するf
と、
コンパイルエラーが発生し、
なんで?f
参照を作成すると問題が発生する理由がわかりません。
clang++ - QtCreator の下の clang++ は c++11 では動作しません
OS:OS X 10.8.1 QtCreator:2.6.2
コマンド ラインは問題ありませんが、QtCreator はコードのコンパイルに失敗します。
コマンドライン :
QtCreatorのコンパイラ設定 http://www.flickr.com/photos/92283971@N04/8453188038/in/photostream
Qt .pro ファイル
エラーメッセージ:
clang: エラー: -stdlib=libc++ の無効なデプロイメント ターゲット (OS X 10.7 以降が必要) make: *** [main.o] エラー 1
しかし、私のOS番号は10.8.1です
qt - QtCreatorはデバッガヘルパーをビルドできません
Qtフォーラムでこの質問をしましたが、最近はかなり静かなようです。
比較的新しいQtCreator2.6.2(Qt 5.0.1を使用)を実行しています。デバッガヘルパーをビルドしようとすると、次のエラーが発生します。
ツールチェーン「GCC(x86 64ビット)」を使用してヘルパーを構築しています.../Developer/Applications/Qt/5.0.1/clang_64//qtc-debugging-helper/にヘルパー「GDBヘルパー」を構築しています
/Developer/Applications/Qt/5.0.1/clang_64/bin/qmake -spec macx-clang dumper.pro -nocache CONFIG + =x86_64..を実行しています。
/ usr / bin / makeall-kを実行しています.../Developer / Applications / Qt / 5.0.1 / clang_64 //qtc-debugging-helper/で'/usr / bin / make all -k'を実行中にエラーが発生しました:プロセス返された出口コード2:clang ++ -c -pipe -mmacosx-version-min = 10.6 -O2 -Wall -W -fPIC -DUSE_QT_CORE = 1 -DUSE_QT_GUI = 1 -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I .. / mkspecs -clang-I。-I ../ include -I ../ include / QtWidgets -I ../ lib / QtWidgets.framework / Versions / 5 / Headers -I ../ include / QtGui -I ../ lib / QtGui.framework / Versions / 5 / Headers -I ../ include / QtCore -I ../ lib / QtCore.framework / Versions / 5 /Headers-I。-I / System / Library / Frameworks / OpenGL.framework / Versions / A / Headers -I / System / Library / Frameworks / AGL.framework / Headers -o dumper.o dumper.cpp make:clang ++:そのようなファイルまたはディレクトリはありませんmake :* [dumper.o]エラー1の作成:エラーのため、ターゲットの「すべて」が再作成されませんでした。ビルドに失敗しました。
それで、私が明らかに持っていない「clang++」と呼ばれるファイルを探していることがわかります。誰かがこれの回避策を私に説明できますか?Qt用にビルド済みのインストールパッケージを使用することに慣れています。
ありがとう。