問題タブ [stlport]
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.
visual-studio-2008 - STLPort を VS2008 でビルドしたり、VS2005 で x64 ビルドを作成したりした人はいますか?
現在、VS2008 は 5.1.5 リリースでも STLPort CVS リポジトリでもサポートされていないようです。誰かがすでにこの作業を行っている場合は、可能であれば共有すると便利です:)
同様に、VS2005 または 2008 x64 ビルドに必要な変更について知っておくと役立ちます。
c++ - VC++2008でSTLport-5.1.4を参照するアプリをコンパイルするときのLNK2001エラー
長い投稿をお詫び申し上げます...
以前は、VSメニュー>ツール>オプション> VC++ディレクトリ>インクルードおよびライブラリファイルのディレクトリの下にSTLPortインクルードおよびライブラリディレクトリをリストしたときに、VC ++ソリューション(VS 2008を使用)を構築できました。ただし、.vcprojファイルと.slnファイルに完全に依存するビルドプロセスに移行したかったのです。これらは、各開発PCで個別に構成する必要があるVSオプションとは異なり、ソース管理にチェックインできます。ほとんどのライブラリの移行は、各プロジェクトのプロパティページ>構成プロパティ> C / C++>一般>追加のインクルードディレクトリにインクルードディレクトリを追加し、リンカー>一般>追加のライブラリディレクトリにライブラリディレクトリを追加することで処理しました。
残念ながら、このアプローチはSTLPortでは機能しません。リンク中にLNK2019およびLNK2001エラーが発生します。
これは、実行可能プロジェクトをライブラリプロジェクトである依存関係にリンクしているときに発生します。不思議なことに、これはライブラリプロジェクト自体をリンクしている間は発生しません。何か案は?
c++ - VS2008でSTLポートを使用する
C++コードをeVC4.0からVisualStudio2008に移植する作業を行っています。ターゲットはWindowsMobile6.1であり、アプリにはWindows Mobile6.0SDKを使用しています。
私たちのコードはeVC4でコンパイルされたときにstlポートを使用しましたが、可能な限りstlポートを引き続き使用したいと思います。
アプリケーションにSTLポート(5.2.1)を組み込むために必要な手順を知っている人はいますか。ソリューションにインクルードディレクトリを設定しましたが(eVC 4.0プロジェクトの場合と同様)、独自のクラスでlist push_backまたはvectorinsertコマンドを使用しようとするとエラー(以下)が発生します(以下はエラーです)。クラス「TriangleBufferElement」を使用)。これらのコマンドは、int、doubleなどのネイティブタイプで機能するようです。
すべてのクラスに適切なコンストラクター、コピーコンストラクター、代入演算子、および比較演算子があり、すべてが正しいように見えることを確認しました。
何か案は?
c++ - STLportのクラッシュ(競合状態、ダーウィンのみ?)
ダーウィンでSTLportを実行すると、奇妙なクラッシュが発生します。(Mac以外では見たことがありませんが、i686とPowerPCの両方でまったく同じことがクラッシュします。)gdbでは次のようになります。
それはSTLportの設定かもしれませんが、Mac.hとMacOSX.hは機能がはるかに遅れているように見えることに気づきました。また、このメソッドを呼び出すだけでは発生しないため、何らかの競合状態である必要があることも知っています(暗黙的に呼び出されます)。クラッシュは主にシステムをプッシュしたときに発生し、多くの文字列処理を行う10個のスレッドを同時に実行します。
私が思いついた他の理論は、コンパイラフラグ(スクリプトの構成)とg ++ 4.2のバグに関係しています(4.4.3はまだMacになく、Objective-Cをサポートしているようです。リンクする必要があります)。
ヘルプ!!!:)
編集:私はあらゆる種類のことを行う単体テストを実行します。この問題は、システムをプッシュする10個のスレッドを開始したときに発生します。そしてそれは常にstd::string :: appendになり、最終的には_M_allocateになります。問題の原因となっているコードの降下ダンプを取得することすらできないので、私は何か悪いことをしていると思います。命令ポインタ0x000...000で実行しようとしているので、そうでしょうか?dynlibsはジャンプテーブルを備えたWindowsでDLLとして構築されていますか?そのようなジャンプテーブルが何らかの理由で上書きされた可能性がありますか?それはおそらくこの振る舞いを説明するでしょう。(コードは巨大です。他のアイデアが足りなくなった場合は、クラッシュする最小限のサンプルをここに投稿します。)
c++ - 自分のコンテナクラスでstd::allocatorを使用する方法
STLアロケータを使用するコンテナクラスを作成しようとしています。私が現在していることは、プライベートメンバーを持つことです
(これは後でテンプレート化され、ユーザーが別のアロケータを選択できるようになります)次に呼び出します
新しく割り当てられた「T」オブジェクトへのポインタを取得します(そして、alloc_.constructを使用してコンストラクタを呼び出します。以下の回答を参照してください)。これはGNUC++ライブラリで機能します。
ただし、Solaris上のSTLPortでは、これは正しいことを行うことができず、あらゆる種類の奇妙なメモリ破損エラーが発生します。私が代わりにやるなら
その後、すべて正常に機能しています。
stl :: allocatorを使用する正しい方法は何ですか?STLPort /Solarisバージョンはg++でコンパイルできませんが、g ++は正しいですか?
c++ - STLport に対してビルドしていることを確認する方法
Visual C++ 2005 を使用して、いくつかのライブラリと実行可能ファイルをビルドしています。ライブラリの追加インクルード パスに STLport の場所を含め、実行可能ファイルのリンカーへの入力にライブラリを含めます。
ただし、ライブラリは stl ポート名前空間なしで stl シンボル (文字列など) を参照しているようです。これにより、リンカー エラーが発生します。
これらは、2 つのライブラリと実行可能ファイルのコマンド ラインからの関連行です。
エラーの例を次に示します。エラー 7 エラー LNK2001: 未解決の外部シンボル "public: virtual bool __thiscall Springfield::CClientFramework::ProviderRequest(class std::basic_string,class std::allocator > const &,class std::basic_string,class std::allocator > const &,class std::basic_string,class std::allocator > const &)" (?ProviderRequest@CClientFramework@Springfield@@UAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2 @@std@@00@Z) FixAutorec.lib
このシンボル Springfield::CClientFramework::ProviderRequest は、ライブラリ ClientArchitecture.lib に由来します これは、dumpbin.exe がこのシンボルを表示する方法です: (public: virtual bool __thiscall Springfield::CClientFramework::ProviderRequest(class stlpd_std::basic_string,class stlpd_std::アロケータ > const &,class stlpd_std::basic_string,class stlpd_std::allocator > const &,class Springfield::IDataStoreNode const *))
探しているシンボルがその文字列 std::basic_string を定義していることに注意してください。一方、宛先はシンボルを stlpd_std::basic_string として定義します。
ありがとう
c++ - std::string 挿入メソッドにはあいまいなオーバーロードがありますか?
環境: STLPort 5.1.4 を使用する VS2005 C++。
次のコード スニペットをコンパイルします。
エラーが表示されます:
問題は、文字列オブジェクトに対する挿入メソッドの呼び出しにあるようです。
定義された 2 つのオーバーロードは次のとおりです。
しかし、STLPort が単純な char* を反復子として使用することを考えると、私のコードの挿入メソッドのリテラル 0 はあいまいです。
したがって、次のようなヒントを与えることで問題を簡単に克服できますが、
私の質問は次のとおりです。この過負荷と可能性のあるあいまいさは、仕様で意図的に行われていますか? それとも、特定の STLPort 実装の意図しない副作用でしょうか?
(Microsoft が提供する STL には、ネイキッド ポインターの代わりに反復子のクラスがあるため、この問題がないことに注意してください)
.net - マネージC++でstlportを使用する
マネージC++DLL内でstlportを使用することは可能ですか?
私のプロジェクトでは、いくつかの「未解決のトークン」を取得します-stlportのもののリンカーからエラーが発生します。例えば:
関数がstlportライブラリ/DLLに含まれているかどうか、および関数がわずかに異なる装飾されていない名前で存在するかどうかを確認しました。だから私は規約の呼び出しに何か問題があると思います!?何か案は?
c++ - Snow Leopard での STLport のコンパイルに関する問題
Snow Leopard で stlprot の最新バージョンをビルドしようとしています。
私が行ったコンパイルの手順:
make && make check は正常に動作しています。「sudo make install」を呼び出すと、エラーが発生します。
stlport で同様の問題が発生した人はいますか?
PS 私のシステム仕様: Snow Leopard 10.6.4 gcc バージョン: gcc バージョン 4.2.1 (Apple Inc. ビルド 5664)