問題タブ [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.

0 投票する
1 に答える
283 参照

c++ - Xcodeに付属のコマンドラインツールを使用して外部ライブラリを使用してプログラムをコンパイルおよびビルドするにはどうすればよいですか?

OpenCV2.4を使用しているコンピュータービジョンプログラムをXcode4.4でコーディングしています。g++またはmakeコマンドでコンパイルしてターミナルに作成したい。しかし、システムは、コンパイラが「opencv2/opencv.hpp」ファイルやVec3dなどを見つけることができないという多くのエラーを示しています。

私の質問は、ターミナルでコードを作成および構築できるシステムをどのように構成するかです。ありがとう。

0 投票する
1 に答える
2021 参照

c++ - Clang、libc++、c++11 で SFML2 アプリケーションを作成します。SFML ライブラリへの未定義の参照

SFML2 アプリケーションの作成で奇妙な問題が発生しています。リポジトリの Clang++ と libc++ を使用しています (どちらも本日更新)。SFML2 も SVN リポジトリから更新されました。Kubuntuの最新バージョンを使用しています。約1か月前に当時の最新のリポジトリで最後に試したときも同じ問題がありました。

C++11 および stdlib のコンパイラに渡すパラメーターは次のとおりです。 -std=c++11 -stdlib=libc++

これが私が呼んでいるものの完全版です:

アプリケーションをコンパイルしようとすると、 Clang からリンク エラーが発生します。

アプリケーションが (現在) 行うことは、RenderWindow を作成することだけです。これは単なるテスト アプリケーションですが、私が使用するほとんどの SFML2 関数では、このようなリンクの問題が発生します。libc++ を使用しない場合、プログラムは完全に正常にコンパイルされます。

私が知る限り、-stdlib=libc++ を含めると、SFML2 ライブラリが正しくリンクされるように SFML2 lib フォルダーが検索されません。

-v コマンドを使用して Clang を呼び出すと、ld 呼び出しは次のようになります。

-stdlib=libc++ を使用しないと...

したがって、私が人々を混乱させた場合: Clang で libc++ を使用すると、最初の ld 呼び出しから上記のエラーが発生します。私がそれを使用しない場合、2 番目の ld 呼び出しは問題なく実行され、アプリケーションは正常に実行されます。

私が libc++ を使用している理由は、C++11 の Threading を使用したいからです。これがないと、コンピュータにある GNU C++ 標準ライブラリから大量のエラーが発生します。エラーリストは膨大で、この問題とは関係がないため、投稿しません。

どうすれば SFML2 の問題を解決できるか、誰にも手掛かりがありますか? 必要がなければ、pthreads ライブラリを使用したくありません。

0 投票する
2 に答える
21610 参照

c++ - std::runtime_error サブクラスの「削除されたコンストラクターへの呼び出し」コンパイラ エラー

std::runtime_errorストリーミングのサポートを例外に追加するために、から例外クラスを派生させました。解決方法がわからない、clang で奇妙なコンパイラ エラー出力が表示されます。

アップデート:

std::runtime_error("")これのデフォルトのコンストラクタが指摘されたので、明示的な呼び出しを追加しました=deleteが、エラーは残っています。

0 投票する
1 に答える
594 参照

c++ - 複雑な C++ テンプレート シンボルの簡素化

私はデバッグ/メモリツールに取り組んでいます。C++ からのシンボルを表示したいのですが、問題は非常に冗長なことです。現時点では を使用して__cxa_demangleいますが、デフォルトのテンプレート パラメータが含まれているため、500 文字を超える巨大な文字列になることがよくあります。

clang++シンボルを報告するときに明らかに賢いことを行うことができます。それを利用する方法はありますか?

簡単な例として、次のように考えてみましょう。

これは明らかに次のように報告できます。

..十分に賢いツールがあれば。一般に、追加の知識がなければこれを行うのが難しいことは明らかです (元々使用されていたインクルードのように、これらを理解できる可能性があります)。

これまで私はlibcxxabiを指摘されてきましたが、解析ツリーへのパブリック インターフェイスがないこと (それ自体で私を止めることはありません) を除けば、どのパラメーターがデフォルトであるかを判断するのに大変な作業をしなければならないようです。 . どういうわけか、clang をだましてこれを実行させることができれば素晴らしいことです。

0 投票する
1 に答える
1531 参照

c++ - Linux で Clang++ を使用して C++11 正規表現チュートリアルをコンパイルしようとするとエラーが発生する

C++ 11での正規表現に関するこのチュートリアルに従おうとしています。小さなコード例をコンパイルしようとすると、これらのエラーが発生します

どうしたの?

0 投票する
1 に答える
450 参照

c++ - テンプレート関数で std::for_each が呼び出されたときの間違った結果

テストコード:

int i異なるラムダで型とtypename T::value_type vパラメータ型を使用していることに注意してください。
コマンドをコンパイルします。clang++ -std=c++11 -stdlib=libc++ test.cpp -o test

clang バージョン 3.1 (branches/release_31) ターゲット: i386-pc-linux-gnu スレッド モデル: posix

結果:

for_each問題は、最初に「2nd for_each」を出力する理由です。

編集:clang ++のバグの可能性があります。
@KennyTM は、同様のより単純なコードを提供しました。

結果:
1
1

0 投票する
1 に答える
5344 参照

c++ - clang ++を使用してLLVMでC ++プログラムをコンパイルする方法は?

チュートリアルがあります - http://llvm.org/docs/GettingStartedVS.html例は純粋な C で行われました。コンパイルしてリンクできます。問題なく、本当に。しかし、純粋な C ではなく、C++ が必要です。ここから困難が始まります。

clang ++の場合、次のような文字列を使用します

それから:

そこに14個のエラーが発生しますLNK2001: unresolved external symbol

だから、私はいくつかのヒントが必要です。私は何を間違っていますか?

こんにちは.cpp:

OS: Windows7.

UPD: 主な質問: .bc から .exe を取得する方法は? (LLVM、Windows7)

0 投票する
3 に答える
7059 参照

c++ - C++11 を使用した Cygwin での Clang

Cygwin に Clang をインストールし、このコードをコンパイルしようとしました。

私がすればそれはうまくいきますclang++ file.cpp。やるとうまくいきませんclang++ file.cpp -std=c++11。次のような標準ヘッダーからエラーが発生します。

Cygwin Clang は C++11 をオンにすると動作しませんか、それともこれを回避するためにできることはありますか?

0 投票する
2 に答える
6080 参照

clang++ - clang++ : C++ には型指定子が必要です

この「C++ では、すべての宣言に型指定子が必要です」という問題が clang++ で解決できません。clang++ を使用してこのエラーを解決する方法を提案してください。ご覧いただき、誠にありがとうございます

0 投票する
1 に答える
431 参照

header - ELF での Clang コンパイラのシグネチャは何ですか?

でコンパイルされたバイナリと、でコンパイルされたバイナリがいくつかgcc/g++ありclang/clang++ます。

これまでのところ、私は試しました:

このコマンドのそれぞれは、によって生成されたバイナリを認識できずclang、Clang によって生成された各ファイルは、によって生成されたものとして認識されgcc、基本的にすべてのバイナリは、このツールに従って同じコンパイラによって生成されます。

Clang は GCC と同じ署名を付けますか? そのバイナリを生成したコンパイラに関する情報を取得するにはどうすればよいですか?

ありがとう。