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

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

c++ - OpenCV エラー: cvAdaptiveThreshold でアサーションが失敗しました

最近、OSXでOpenCVプログラミングを開始しました(テキストエディターを使用してターミナルでコンパイルするだけです)。インターネットで非常に便利なプログラムを見つけましたが、実行できないようです。これはコードです:

そして、これは私が得るエラーです:

この行を変更しようとしました

の中へ

運がない。OpenCV は Macports 経由でインストールされ、最新バージョンを実行しています。どんな助けでも大歓迎です。ありがとう!

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

c++ - clang ++ 3.2リンカーがC ++ stdlibを見つけられない

Ubuntu 13.04 マシンに clang 3.2 をインストールし、libc++ をコンパイルしてビルドしました。すべてが整っています。ただし、(非常に単純な) コードをリンクしようとすると、リンカは std::cout などへの参照が未定義であると報告します。

これを解決するために私にできることを誰かが教えてくれたら、とても感謝しています。考えられることはすべて試しました。

コマンドと出力は次のとおりです。

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

c++ - std::scoped_allocator_adaptor 内で std::unordered_map を使用してカスタム アロケーターを使用する

で単純なメモリ プール アロケータを使用しようとしていますstd::unordered_mapstd::string私はこの同じアロケータを と の両方で一見成功したように使用しましたstd::vector。unordered_map (およびベクター) に含まれるアイテムでもこのアロケーターを使用するようにしたいので、アロケーターを でラップしましたstd::scoped_allocator_adaptor

簡略化された定義セット:

次のように初期化されます。

lake_allocイテレータコードの残りの部分を以下に示します。私が Clang 3.3 で得ているエラーは、allocator_type(この場合はベクトル化する文字列のペアの mm_alloc) を独自のにできないということ__pointer_allocatorです。これは、ハッシュ マップの実装に使用される内部型です。以下の部分的なエラー出力:

GCC 4.7.1 では、ハッシュ マップの内部構造で同様のエラーが発生するため、明らかに間違っていますが、これは STL のアロケーターへの最初の進出であり、途方に暮れています。

カスタム アロケータは次のとおりです。いくつかの穴がある単純な実装ですが、このバージョンは、ベクトルと文字列に数メガのデータが含まれるテスト ケースでうまく機能します。

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

linux - clang++ および libc++ を使用する Linux で std::cerr が SIGABRT を引き起こす

clang++ 3.3 libc++ libc++abi でコンパイルされた Ubuntu 12.04 x64 で実行される単純なプログラムを取得しようとしています。

プログラム:

std::cerr に書き込むとメッセージが出力されますが、SIGABRT になります。

ただし、 std::cout への書き込みは正常に機能します。

実行可能ファイルの ldd 出力は次のとおりです。

誰でもこれを修正する方法を教えてもらえますか?

バックトレースは次のとおりです。

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

c++ - libc++ で、regex_match("tournament", regex("tour|to|tournament")) が失敗するのはなぜですか?

http://llvm.org/svn/llvm-project/libcxx/trunk/test/re/re.alg/re.alg.match/ecma.pass.cppには、次のテストが存在します。

この一致が失敗する理由は何ですか?

VC++2012 とブーストでは、一致は成功します。
Chrome と Firefox の Javascript では"tournament".match(/^(?:tour|to|tournament)$/)成功します。

libc++ でのみ、一致は失敗します。

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

c++ - Linux で libc++/libstdc++ ABI の非互換性を再現

私の友人と私は、C++11 を使用するプロジェクトに取り組んでいます。彼は OS X を使用しており、私は Linux を使用しています。

libc++とは ABI 互換ではないためlibstdc++、ライブラリとアプリケーションを混同しないようにする必要があります。

ただし、現在、ミキシングによってリンカーの問題が発生してlibc++おりlibstdc++、どのライブラリから発生したのかを突き止めたいと考えています。

理想的には自宅でそれをやりたいのですが、私は Mac を所有しておらず、1 つのバグ修正のためだけに何百ドルも払いたくないので、Linux システムで問題を再現したいと考えています。

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

installation - cmake を有効にしてサブディレクトリをインストールから除外するにはどうすればよいですか?

RHEL 6.4 ボックスで 3.3RPM用のパッケージをビルドしようとしています。libc++静的ライブラリと共有ライブラリの両方が必要です。それで、私はいくつかの基本を学びcmake、バンドルされている を修正しましたCMakeList.txt。その部分が機能するようになりました。

しかし、RHEL 6.x では、すべての 64 ビット ライブラリは/usr/lib64ではなく に移動する必要/usr/libがあるため、次を使用して作業を完了しようとしています。

(A) ビルド中に、私は使用します

すべてのライブラリ ファイル (*.so*および*.a) をlib64ではなくに配置しlibます。

(B)ADD_LIBRARY...以下に示すようにコマンドを使用する

一緒に

にインストールされているスタティック ライブラリを取得します/usr/lib64

(C) さらに、

共有ライブラリもインストールする必要があり/usr/lib64ます。

/usr/libただし、結果の RPM には共有ライブラリのコピーがまだインストールされています。どうすれば防ぐことができますか?

RPMspecファイルを作成する場合、_libdirマクロはこれを自動的に処理します。ではcmake、私がまだ慣れていないという事実を考えると、使用する正しいディレクティブに関するヒント/ポインターをいただければ幸いです。