問題タブ [libc++]
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.
clang - Mac 10.6.8 に libc++ をインストールする
現在、Mac に lib++.1.dylib をインストールしようとしています。http://libcxx.llvm.org/の指示に従い、ソースをダウンロードしました。しようとする./buildit
と、clang++: command not found
エラーが発生しました。
だから私はここに行きましたhttp://clang.llvm.org/get_started.htmlそしてclangをインストールしました。残念ながら、libcxx のインストールに戻っても、まだ clang++ エラーが発生します。Clang 自体clang --help
は、ヘルプ メニューを表示するように機能します。
10.6.8 を実行しているため、Xcode のインストールはオプションではありません。
clang++ コマンドを機能させるにはどうすればよいですか?
c++ - Mac OS で LLVM libc++ が clang 3.3 でコンパイルされない
LLVM Web ページから Mac (OS X 10.8.4) に clang 3.3 (自作) をダウンロードしましたが、使用時に次のコンパイラ エラーが発生しますstd=c++11 stdlib=libc++
。
別のlibc ++も必要なようです(MACで100%完成したと言われていましたが...)が、見つかりません。どんな助けでも感謝します。参考までに:
そして、はい、私はそれをグーグルで検索し、これを見つけました:http ://comments.gmane.org/gmane.comp.compilers.llvm.bugs/24138 libc++トランクで解決されたと主張しています???
わかりました、Howard が提案したように、トランクの先端の libc++ を /opt/local/share/libcxx にダウンロードしましたが、ビルドに問題があります。マニュアルにはcd libcxx/lib
、 、export TRIPLE=-apple-
、および run と書かれています./buildit
。これは、これが意味することだと思いますbash
(私は通常tcsh
ユーザーなので、 を移動し.tcshrc
、新しいシェルを取得して を開始しましたbash
)。私はそれを行い、コンパイルは機能しましたが、ライブラリのビルドは失敗しました。間違ったものを選択するため(81 行目ではなく、 が設定されていない場合に使用される 103 行目)、明らかに が./buildit
表示されません。の先頭にステートメントを追加すると、何も報告されません。どうして?ここで何が問題なのですか?$TRIPLE=-apple-
LDSHARED_FLAG
$TRIPLE
echo $TRIPLE
-apple-
echo TRIPLE = $TRIPLE
buildit
失敗は、間違ったものLDSHARED_FLAG
が選択されたため、ロードが機能しなかったことです ( Linux では意味があると思わld
れる不明なオプションについての苦情)。(ファイル)が環境変数を取得しなかった-soname
理由がわかりません(やなどの不要なものをいくつか取得しました)。そのファイルの先頭に追加するだけで、ライブラリが構築されました。ただし、ローダーはいくつかの警告を吐き出しましたが、そのすべてが次の形式でしたbuildit
#! /bin/sh
TRIPLE
CXX
CC
TRIPLE=-apple-
ld: 警告: ___cxa_bad_typeid で std::bad_typeid のグローバルな弱いシンボル typeinfo に直接アクセスすると、実行時に弱いシンボルをオーバーライドできないことを意味します。これは、異なる可視性設定でコンパイルされた異なる翻訳単位が原因である可能性があります。
しかし、最も重要なことは、それが機能することです (少なくともコンパイルは、まだライブラリをテストしていません)。最後に 1 つ質問があります。アドバイスは、このバージョンの所在を使用-I
し-L
てコンパイラに伝えることでした。いつもの場所に入れられません/usr/include/c++/v1/
か?とにかく、Xcodeにはそのバージョンが別の場所にあることに注意してください/usr/include/c++/v1/
。自作のclang 3.2を機能させるために、そのバージョンへのシンボリックリンク( )を入れました(Xcodeの更新後)。図書館はどうですか?標準的な場所にも置けますか?
linker-errors - clang++ -stdlib=libc++ は未定義の参照につながります
libc++ で clang を使用すると、次のリンカー エラーが発生するのはなぜですか。
どこ:
コードは単純です:
c++ - glm および cxx-prettyprint、clang: 関数 'operator <<' への呼び出しは、テンプレート定義にも表示されません
これらのライブラリを一緒に使用する人はいますか? cxx-prettyprintとglm。把握するのが難しいコンパイル時の問題が発生しています。
"SUITE" と "TEST" が混同されている場合、それはこのコードが を使用しているためですUnitTest++
。
Math.h には次のものが含まれています。
エラーは次のとおりです。
c++ - libc++ は fcgi streambuf を処理できません
fcgi と nginx を使用して C++11 で Web サイトを作成したいと考えています。現時点では、libc++ と組み合わせた Clang++ のみが C++11 を完全にサポートしています。
しかし、私の fcgi プログラムを実行すると、誰かがブラウザでページをリクエストすると、セグメンテーション違反が発生します。
テストコード:
上記のコードは、次のようにコンパイルされています。
gdb は次を出力します。
-stdlib=libc++ なしでコンパイルすると、一部の C++11 機能を使用できないことを除いて、すべて正常に動作します...</p>
クラッシュせずに fcgi-app を実行して libc++ を使用する方法はありますか?
xcode - XCode で libc++ または libstdc++ を選択できない
Cinder と OpenSubdiv の両方を使用する XCode でプロジェクトをビルドしようとしています。
それらは多くの点で矛盾しており、ほとんどの問題を解決しましたが、最後の問題は頭を悩ませています。
リンカー エラーがあります。
「アーキテクチャ x86_64 の未定義シンボル: "std::__throw_length_error(char const*)"、参照元: 何とか何とか
少し調査した結果、「C++ 標準ライブラリ」を libc++ から libstdc++ に変更する必要があることがわかりました。
しかし、Cinder は不平を言い、libc++が必要だと教えてくれます。だから私は立ち往生しています。
Windows では Cinder と OpenSubdiv を連携させることができましたが、Mac では非常に困難です。これを解決する方法はありますか?
c++ - XCode の libc++ を top-of-trunk の clang で使用するにはどうすればよいですか?
このファイルをコンパイルすると
Xcode に同梱されているバージョンの clang を使用すると、clang に次のように llvm の libc++ を使用するように指示できます。
ただし、clang の自己ビルド バージョンを使用する場合、clang は libc++ を見つけることができないため、このコマンドは機能しません。
ソースから libc++ をダウンロード、ビルド、およびインストールできることを知っています。ただし、Xcode に同梱されているバージョンを使用したいと思います。
自分のバージョンの clang を使用しているときに、Xcode に同梱されている libc++ バージョンを使用するにはどうすればよいですか?
c++11 - libc++ 単純なコードをコンパイルするベクトルおよび文字列の例外仕様のインスタンス化でエラーが発生しました
この単純なコードをコンパイルするとエラーが発生します。noexcept を削除すると、エラーは発生しません。
これは私が受け取るエラーです。例外仕様のインスタンス化にあることは理解していますが、std::string が構築可能ではないことを疑っています..最初のエラーは、バグがあると思わせます。
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 からインクルードされたファイル: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/vector:575:67: エラー: 'std::__1::is_nothrow_move_constructible、std::__1::allocator に 'value' という名前のメンバーがありません > > > ' NOEXCEPT(is_nothrow_move_constructible::値); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ファイル内/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 から含まれる: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4 から含まれるファイル内: ファイル内/usr/local/bin/../lib/c++/v1/vector:264 からインクルード: /usr/local/bin/../lib/c++/v1/__config:325:34: 注: マクロから展開 ' NOEXCEPT ' NOEXCEPTを定義(x) noexcept(x) ^ /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 から含まれるファイル: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError. h:29:29: 注: ここでリクエストされた 'vector' の例外仕様のインスタンス化で std::vector vectorFoo_; ^ /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 からインクルードされたファイル: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/vector:265 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/__bit_reference:15 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/algorithm:624 から含まれるファイル: /usr/local/bin/..Tp>::type> ^ /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 からインクルードされたファイル内: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics からインクルードされたファイル内/TestCompileError.h:4: /usr/local/bin/../lib/c++/v1/vector:575:20: 注: テンプレート クラスのインスタンス化で 'std:: _1::is_nothrow_move_constructible, std::__1: :allocator > > >' ここで要求 NOEXCEPT(is_nothrow_move_constructible::値); ^ /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 からインクルードされたファイル: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/vector:264 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/__config:325:34: 注: 展開マクロ ' NOEXCEPT ' からNOEXCEPTを定義します(x) noexcept(x) ^ /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 から含まれるファイル: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError. h:29:29: 注: ここでリクエストされた 'vector' の例外仕様のインスタンス化で std::vector vectorFoo_; ^ /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 からインクルードされたファイル: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/vector:582:58: エラー: 'std::__1::is_nothrow_move_assignable に 'value' という名前のメンバーがありません, std::__1::allocator > > >' is_nothrow_move_assignable::value);NOEXCEPT ' NOEXCEPTを定義(x) noexcept(x) ^ /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 から含まれるファイル: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError. h:29:29: 注: ここで要求された「operator=」の例外指定のインスタンス化で std::vector vectorFoo_; ^ /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 からインクルードされたファイル: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/vector:265 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/__bit_reference:15 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/algorithm:624 から含まれるファイル: /usr/local/bin/.. /lib/c++/v1/type_traits:2760:45: 注: テンプレート クラス 'std::__1::add_lvalue_reference, std::__1::allocator > > >' のインスタンス化では、ここで要求されます: public is_nothrow_assignableTp>::type, ^ /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 からインクルードされたファイル: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/vector:582:14: 注: テンプレート クラスのインスタンス化で 'std::_1::is_nothrow_move_assignable, std::__1::allocator > > >'ここで要求されます is_nothrow_move_assignable::value); ^ /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 から含まれるファイル:NOEXCEPT ' NOEXCEPTを定義(x) noexcept(x) ^ /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 から含まれるファイル: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError. h:29:29: 注: ここで要求された「operator=」の例外指定のインスタンス化で std::vector vectorFoo_; ^ /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 からインクルードされたファイル: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/vector:265 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/__bit_reference:15 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/algorithm:624 から含まれるファイル: /usr/local/bin/..Tp>::type> ^ /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 からインクルードされたファイル内: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics からインクルードされたファイル内/TestCompileError.h:4: /usr/local/bin/../lib/c++/v1/vector:575:20: 注: テンプレート クラスのインスタンス化で 'std:: _1::is_nothrow_move_constructible, std::__1: :allocator > > >' ここで要求 NOEXCEPT(is_nothrow_move_constructible::値); ^ /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 からインクルードされたファイル: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/vector:264 からインクルードされたファイル: /usr/local/bin/../lib/c++/v1/__config:325:34: 注: 展開マクロ ' NOEXCEPT ' からNOEXCEPTを定義します(x) noexcept(x) ^ /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1 から含まれるファイル: /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError. h:29:29: 注: ここでリクエストされた 'vector' の例外仕様のインスタンス化で std::vector vectorFoo_;
私のコンパイラはツリーの一番上からclangです。私は何を間違っているのですか?
ありがとう
更新 Coliru のエラー。libc++ を指定せず、代わりに stdlibc++ を使用するとコンパイルされるようです。libc ++のバグのように見え始めています。
c++ - libc++ を使用すると、OS X で GDB がセグメンテーション違反を起こす
プログラムに C++11 (OS X 上の Clang および libc++ を使用) を使用しようとしていますが、gdb でデバッグして標準コンテナーを検査しようとすると、gdb segfaults が発生します。最小限の例を次に示します。
ファイル.cpp:
以下を使用して C++11 用にコンパイルすると:
そして、次のようにデバッグすると、次のことを試みるとクラッシュしp str.size()
ます。
これを gdb で実行しない場合、クラッシュは発生せず、正常に動作します (ただし、プログラムをデバッグするには gdb が必要です)。また、コンパイル オプションから削除する-std=c++11 -stdlib=libc++
と (gdb でも) 正常に動作しますが、プログラムには C++11 が必要です。
gdb と C++11 (特に libc++) に関する既知の問題はありますか? libc++ と libstdc++ を一緒に使用すると問題が発生する可能性があることはわかっていますが、それらを一緒に使用しようとはしていません (少なくとも意識的にではありません。使用したいのは libc++ だけです)。いくつかのコンパイル オプションを間違って指定していませんか? OS X で C++11 用に適切にコンパイルし、適切にデバッグできる方法はありますか?