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

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

android-ndk - AndroidNDKでstd::wstringサポートが欠落している場合の解決策?

何千もの場所で基本的な文字列型としてstd::wstringを使用し、wchar_tとその関数(wcsicmp()wcslen()vsprintf()など)を操作するゲームがあります。

問題は、wstringがR5c(この書き込みの時点で最新のndk)でサポートされていないことです。

国際化のためにstd::stringを使用するようにコードを変更できず、多くのゲームで使用されているゲームエンジンを壊してしまいます...

どのオプションがありますか?

1-stringとwstringを独自の文字列クラスに置き換えます

これにより、プラットフォームの独立性が向上しますが、ホイールを再実装するのはばかげています。私はすでに文字列のCOW実装から始めました。hash_mapsのキーとして使用するため、COWである必要があります。もちろん、これは多くの作業とエラーが発生しやすいです...しかし、それは私ができることのようです。

2-C標準ライブラリ(wcslen、mbstowcs ...)のワイド文字列関数の独自の実装を使用してSTLPortを再コンパイルするNDKを修正してみてください

これは好ましい方法です...しかし、私はそれを行う方法がわかりません:(

libstdc ++。aまたはlibstlport_static.aの関数(たとえばwcslen)を置き換えるにはどうすればよいですか?(どこにあるかわからない:()

また、どの関数を再実装する必要があるのか​​わからないので、wcslenが機能していないことはわかっているので、すべてである必要があると思います...

3-他に何かアイデアはありますか?

これに対する公式の修正を待つことはできません。#2の方法がわからない場合は、オプション#1を選択する必要があります。

2.3をターゲットにするとwstringsを使用できるとどこかで読んだことがありますが、Android2.1をターゲットにする必要があります。

PS:もちろんSTLを使用する必要があると言うのを忘れましたが、RTTIはなく、例外なく生きることができます。

前もって感謝します!

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

c++ - STLPort、Intel コンパイラ、ビルド エラー (ただし、アプリは正常に動作します!)

プロジェクトを STLPort に対してコンパイルすると、奇妙なビルド エラーが発生します。奇妙なことに、ビルド エラーは致命的だと思うかもしれませんが、プロジェクトは問題なく (そして 20 ~ 30% 高速に) 実行されます。

私が間違っていることと、これらを黙らせる方法について誰かが教えてくれますか?

(libiomp5md は Intel の openmp サポートからのものです。私は stlport に切り替える前にそれを使用していましたが、現在も openmp で実行しているため、変更する必要がある理由はわかりません)。

ランタイム ライブラリ (C++ コード生成設定) がマルチスレッドに設定されています。

前もって感謝します!

編集: ipo は、現在のビルドでコンパイルされていないライブラリを開くことができないと不平を言う手続き間の最適化のようです。これらのエラーが致命的ではないことは理解でき、出力は引き続きビルドされます。それでも、アドバイスをいただければ幸いです。

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

c++ - カーネルで STLPort を使用するには?

C++ でカーネルを開発しています。しかし、私は書きたくありませんstdlib; そのためにSTLport http://www.stlport.org/をダウンロードしましたが、インストール方法と使用方法がわかりません。

カーネルの構築に Linux を使用しています。

カーネルで C++ 標準ライブラリを使用するにはどうすればよいですか?

また、STLport からすべてのライブラリを移植したくありません。選択したライブラリを除外するにはどうすればよいですか? などのようstd::stringに。std::vector

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

boost - STLport ライブラリで Boost をビルドできない

MSVC 7.1 を使用して、Windows で STLport 5.2.1 を使用してブースト 1.48.0 をビルドしています。実行するコマンド ラインは次のとおりです。

私の user-config.jam は次のように設定されています。

STLport に関連するリンカー エラーがいくつか発生します。それらの1つは次のようになります。

STLport で Boost ビルドを取得できないのはなぜですか?

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

c++ - stringstream 演算子の選択の問題

私は次のようなクラスコンストラクタを持っています:

私はそれを次のように呼びます:

これは単純化しすぎた例ですが、本質的にはこれが起こっていることです。これが私が得ている正確なコンパイラエラーです。何らかの理由で、渡された結果のオブジェクトが basic_ostream であることに注意してください。これが正常かどうかはわかりません。私の関数が期待するように、それを std::stringstream にキャストすることはできません。

WindowsでVS2003とSTLportを使用しています。

ここで私が間違っている場所を知っている人はいますか?このコードがコンパイルされないのはなぜですか? 情報が不足している場合は、あらかじめお詫び申し上げます。詳細情報を要求する人のために、質問を更新します。

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

c++ - STLPort の構築エラー

プロジェクトで STLPort を使用しようとしていますが、の指示に従うとINSTALL.unixesコンパイル エラーが発生します。

を実行./configureした後make、出力は以下のとおりです。Ubuntu で make 3.81 と gcc 4.6.1 を使用しています。

編集:追加しようとしまし--with-extra-cxxflags="-std=c++ox"たが、以下にリストされている別の小さなエラーセットが表示されます。

0 投票する
0 に答える
247 参照

visual-studio-2010 - VS2010でのSTLPortデバッグ

VS2010でSTLPortコンテナをデバッグする方法を知っていますか?STLコンテナと同じくらい簡単にデバッグしたいと思います。

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

c++ - 名前が変更されたら、元の名前空間に戻すにはどうすればよいですか?

私はstlportと呼ばれるライブラリを使用しています。これは、次のstdように名前空間 を再定義します。

このため、コード内で使用しようとすると、どこでも。std::somethingに置き換えられ_STLP::somethingます。

行をコメントアウトする#define std STLPORTと、レガシープロジェクトのコードはコンパイルされません(stlportに依存します)。

行をコメントアウトしないと、追加しようとしている新しいライブラリは、std::stlportが使用するものとは異なるアロケータのセットで使用されるため、コンパイルされません。衝突を入力します。

#define STLPORT std新しいライブラリを含める直前に一列に並べ てみましたが、この#defineは機能していないようです。

このように再定義されたノーマルを使用する方法はありstdますか?

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

gcc - arm-linux-gcc で STLPort をコンパイルすると不明なエラーが発生する

uclinux用のクロスコンパイラツールチェーンでSTLPortをコンパイルしようとしていました。 STLPort ライブラリのルート フォルダにある INSTALL に従って、新しいツールチェーンを追加する場合は、最も近いツールチェーンを見つけて、コンパイラ用に変更する必要があります。 gcc.mak を選択し、gcc を arm-linux-gcc に、c++ を arm-linux-c++ に変更します。コンパイル時にこのエラーが発生しました:

このエラーは何ですか? arm-linux-gcc で STLPort 用の適切な Makefile を作成するにはどうすればよいですか?

編集:エラーは最初の回答で修正されましたが、別のエラーがあります:コードをコンパイルしようとすると、メイクファイルは次の文を取得します:
*注意!*
この makefile は、すべての glibc フレーバーでうまく機能しない可能性があるシステム ロケールを使用しようとします。ビルドが失敗した場合は、STLport の C ロケールのみのバージョンをビルドする gcc.mak に頼ってください。最終的に c_local.c で次のエラーが発生しました。

このエラーは、makefile の注意に関連していると思います。問題を解決するにはどうすればよいですか? 出席中の gcc.mak のリゾートとは何ですか?

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

visual-c++ - STLport void *operator new(size_t,void *)' を使用する Wince 5.0 には既に本体があります

WindowsからWinceへの変換作業を行っています。iostream を使用するには、 を選択しますSTLport5.2.1vs2008でコンパイル エラーが発生します。

am files (x86)\windows ce tools\wce500\athenapbws\mfc\include\wcealt.h(248): エラー C2084: 関数 'void *operator new(size_t,void *)' には既に本体があります

2> D:\Program Files (x86)\Windows CE Tools\wce500\AthenaPBWS\include\ARMV4I../Armv4i/new(71) : 「new」の以前の定義を参照

2>d:\program files (x86)\windows ce tools\wce500\athenapbws\mfc\include\wcealt.h(254): エラー C2084: 関数 'void operator delete(void *,void *)' には既に本体があります

2> D:\Program Files (x86)\Windows CE Tools\wce500\AthenaPBWS\include\ARMV4I../Armv4i/new(73) : 「削除」の前の定義を参照

2>Util1.cpp 2>D:\Program Files (x86)\Windows CE Tools\wce500\AthenaPBWS\include\ARMV4I../Armv4i/new(72): エラー C2084: function 'void *operator new(size_t,void *)' にはすでに本体があります

2> d:\program files (x86)\windows ce tools\wce500\athenapbws\mfc\include\wcealt.h(247) : 'new' の以前の定義を参照

2>D:\Program Files (x86)\Windows CE Tools\wce500\AthenaPBWS\include\ARMV4I../Armv4i/new(74): エラー C2084: 関数 'void operator delete(void *,void *)' は既に体

2> d:\program files (x86)\windows ce tools\wce500\athenapbws\mfc\include\wcealt.h(253) : 「削除」の前の定義を参照

どのようにエラーを解決できますか?