問題タブ [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.
c++ - OpenCV エラー: cvAdaptiveThreshold でアサーションが失敗しました
最近、OSXでOpenCVプログラミングを開始しました(テキストエディターを使用してターミナルでコンパイルするだけです)。インターネットで非常に便利なプログラムを見つけましたが、実行できないようです。これはコードです:
そして、これは私が得るエラーです:
この行を変更しようとしました
の中へ
運がない。OpenCV は Macports 経由でインストールされ、最新バージョンを実行しています。どんな助けでも大歓迎です。ありがとう!
c++ - clang ++ 3.2リンカーがC ++ stdlibを見つけられない
Ubuntu 13.04 マシンに clang 3.2 をインストールし、libc++ をコンパイルしてビルドしました。すべてが整っています。ただし、(非常に単純な) コードをリンクしようとすると、リンカは std::cout などへの参照が未定義であると報告します。
これを解決するために私にできることを誰かが教えてくれたら、とても感謝しています。考えられることはすべて試しました。
コマンドと出力は次のとおりです。
c++ - std::scoped_allocator_adaptor 内で std::unordered_map を使用してカスタム アロケーターを使用する
で単純なメモリ プール アロケータを使用しようとしていますstd::unordered_map
。std::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 のアロケーターへの最初の進出であり、途方に暮れています。
カスタム アロケータは次のとおりです。いくつかの穴がある単純な実装ですが、このバージョンは、ベクトルと文字列に数メガのデータが含まれるテスト ケースでうまく機能します。
linux - clang++ および libc++ を使用する Linux で std::cerr が SIGABRT を引き起こす
clang++ 3.3 libc++ libc++abi でコンパイルされた Ubuntu 12.04 x64 で実行される単純なプログラムを取得しようとしています。
プログラム:
std::cerr に書き込むとメッセージが出力されますが、SIGABRT になります。
ただし、 std::cout への書き込みは正常に機能します。
実行可能ファイルの ldd 出力は次のとおりです。
誰でもこれを修正する方法を教えてもらえますか?
バックトレースは次のとおりです。
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++ でのみ、一致は失敗します。
c++ - Linux で libc++/libstdc++ ABI の非互換性を再現
私の友人と私は、C++11 を使用するプロジェクトに取り組んでいます。彼は OS X を使用しており、私は Linux を使用しています。
libc++
とは ABI 互換ではないためlibstdc++
、ライブラリとアプリケーションを混同しないようにする必要があります。
ただし、現在、ミキシングによってリンカーの問題が発生してlibc++
おりlibstdc++
、どのライブラリから発生したのかを突き止めたいと考えています。
理想的には自宅でそれをやりたいのですが、私は Mac を所有しておらず、1 つのバグ修正のためだけに何百ドルも払いたくないので、Linux システムで問題を再現したいと考えています。
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
、私がまだ慣れていないという事実を考えると、使用する正しいディレクティブに関するヒント/ポインターをいただければ幸いです。