問題タブ [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.
c++ - clang ++はローカル静的変数のスレッドセーフな初期化を行いますか?
clang ++はローカル静的変数のスレッドセーフな初期化を行いますか?
誤解を招くような名前の-fno-threadsafe-statics
. Apple clang バージョン 2.0 (tags/Apple/clang-139) (LLVM 2.9svn ベース) を使用しています。
c++ - clang "hello、world!" Windowsのリンクエラー
CLangソースをダウンロードし、CMakeを使用してVisual C ++ 10 IDEワークスペースを作成し、Visual C ++ 10.0(エクスプレス)からすべてをビルドしました。
今、私はhelloworldでたくさんのリンカーエラーを受け取ります:
それで私はそれについて何ができますか?
c++ - clang++およびu16string
この単純なコード行と最新のclang++で、私は大変な時間を過ごしています。
c++ - Clangで「移動コンストラクターが利用可能な場合のコピーコンストラクターの削除」を無効にします
ここで StackOverflow を見ると、Clang++ で C++11 標準を使用しているときに、クラスに移動コンストラクターを定義している場合、暗黙的なコンストラクターの生成が無効になっていることがわかりました。つまり、コピー コンストラクターは「明示的に削除」されます。
この動作を無効にする方法はありますか?
また、この動作は標準化されていますか? 私はGCCで同じ振る舞いをしていないからです。
c++ - テンプレート化された基本クラス メンバーでの g++ コンパイラ エラー
g++ を使用して Microsoft Visual C++ コードをコンパイルしようとしています。今、私は本当に理解できないコンパイラエラーに遭遇しました。(簡略化された) コードは次のようになります。
これを g++ (バージョン 4.4.5) でコンパイルしようとすると、次のエラーが発生します。
メソッド A::call からテンプレート型 (Ret) を削除すると、コードは正常にコンパイルされます。ここで何が問題なのか誰にもわかりますか?
ありがとう!
c++ - g++ 4.6 発行番号ヘッダー cstring が必要とするファイル
ヘッダー ファイルbits/c++config.h
に必要な c++ インクルード ディレクトリに呼び出されるファイルがありません。cstring
しかし、ヘッダーcstring
をインクルードしてコンパイルするとg++
、エラーは発生しません。clang++
以下の方法でコンパイラーでプログラムをコンパイルしようとしたところ、問題が発生しました。
Ubuntu 11.04 で g++ 4.6.1 を使用しています
何が悪かったのか?
macos - clang コンパイラの警告 Mac OS X
プログラムをコンパイルすると、コンパイラの警告が表示されます。しばらくの間、それらを修正しようとしています。
これは私がコンパイルする方法です:
これは私が得る警告です:
Appleがclangに切り替える前に、警告なしでコンパイルしていました。現在、c++ は clang への単なるシンボリック リンクです。
smbd に同じ種類の問題があるかどうか疑問に思っていましたか?
何か案は?
ありがとう
うーん...それはバグ(または機能)のようです:リンク。
しかし、回避策を見つけたと思います.MFを使用して出力ファイルを指定する代わりに、次のようにファイルにリダイレクトするだけです:
c++ - 宣言を見つける方法でclangはgccとどう違うのですか
次のような istream の operator>> のオーバーロードを含む util.h/.cpp があります。
と
他のファイルでは、この構成を次のように使用します。
これは gcc/g++ (v. 4.6.3) で完全にうまく機能しましたが、clang (v 3.0) を使用したいと思い、適切な演算子のオーバーロードが見つからないというエラーが表示されました。
gcc には問題がないのに、clang では適切な宣言が見つからないのはなぜですか。どうすればこれを修正できますか?
imagemagick - autotoolsを使用して「-stdlib=libc++」をc++リンカーに渡します
ImageMagick(特にMagick ++)をclang++とlibc++でコンパイルしようとしています。したがって、コンパイラとリンカの両方に-stdlib =libc++を渡す必要があります。
CXXFLAGS = "-stdlib = libc ++"はコンパイルには問題なく機能しますが、LDFLAGS = "-stdlib =libc++"はCリンカーにのみ影響するようです。
C ++ライブラリをリンクするときに./configureを正しく指示するか、このフラグを使用するようにするにはどうすればよいですか?
c++ - catch(...) xcode llvm 3.0で他のすべてのキャッチを飲み込む
C++ プロジェクトで googletest を実行しようとしていますが、その一部としてEXPECT_THROW(statement, expected_exception);
. 「Apple LLVM Compiler 3.0」を選択してXCodeを使用しています。これはすべて、Snow Leopard 10.6.8、XCode 4.2 上にあります。
明示的なダミーケースを使用した場合でも、これらのテストのいずれにも合格できませんでしたEXPECT_THROW(throw std::runtime_error(), std::runtime_error);
マクロを展開した後 (gtest/internal/gtest-internal.h:1114 GTEST_TEST_THROW_ から) 自分自身を
次に、 gdb にブレークポイントを設定してステップスルーすると、がスキップされ、が実行されているcatch catch
ことがわかります。ブロックをコメントアウトすると、正しいステートメントが実行されます。catch(runtime_errors)
catch(...)
catch(...)
catch(std::runtime_error const& e)
コンパイラを「LLVM GCC 4.2」に設定すると問題は解決しますが、clang++ をターゲットにしたいと考えています。
コマンドラインでclang ++を使用して手動でコンパイルすると、別のEXPECT_THROWテストケースが機能するため、難解なxcodeまたはllvm設定である必要があると思いますか? それとも、LLVM が私の runtime_error を他の型にどのようにねじ曲げているのでしょうか? を試しましたcatch throw
が、そのコンテキストで任意の型情報を取得できました。
誰もがこれを以前に経験したか、何か考えがありますか?
編集:
そのため、libprofile_rt.dylib とコンパイラ フラグもリンクしていました-fprofile-arcs -fprofile-coverage
。コンパイラ フラグを-fprofile-arcs
削除すると、問題が解決されました。それは私の報道レポートを壊すので迷惑です。
(librpofile_rt.a とのリンクにも同じ問題がありました)
LLVM はテストケースに googletest を使用していると思われるので、これを見たのは私だけではありませんか?!
これを回答として投稿する必要があるのか 、それとももっと知識のある人が来て本当の解決策を提供してくれるのかわからない.