問題タブ [libstdc++]
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.
linker - 特定のライブラリとリンクする方法(g ++; libstdc++。so.5およびlibstdc++。so.6)
簡単な質問-g++
リンカーを特定のlibstdc++
ライブラリバージョンとリンクさせる方法はありますか?gcc
/のmanページにg++
も、ここにある他の質問にも、役立つものは何も見つかりませんでした。
これが状況です-私のアプリケーションは、で構築された特定の共有ライブラリをlibstdc++.so.5
使用しており、にインストールして使用したいと考えていRHEL5
ます。そのため、マシン上でアプリケーションをビルドしようとすると、RHEL5
次の警告が表示されます。
compat-libstdc++
rpmをインストールしても効果はありませんでした。機能がないstd::string
ため、のデストラクタでプログラムがクラッシュします。だから、このRHEL5
マシンで私はこれを持っています:
そして私が作るとき
私はそれが未定義の振る舞いであることを知っているので、これは悪いことです:/
それで、のみを使用して実行可能ファイルをビルドする方法はありますlibstdc++.so.5
か?libstdc++.so.6
(多くの理由により、削除はオプションではありません。静的リンクもオプションではありません)。
どうもありがとう!
c++ - オブジェクトをベクトルに格納する
特殊化せずにベクトルを持つことは可能ですか?
私の問題は次のとおりです。抽象クラス N4GestureRecognizer とそのサブクラスがいくつかあります。したがって、コントローラークラスには が必要ですが、vector<N4GestureRecognizer> recognizers_
抽象的であるためできません。このレコグナイザーをベクター、コレクション、リスト、または標準の c++ でループ可能なものに保存するにはどうすればよいですか?
c++ - libstdc++ なしの g++ - 実行できますか? -簡単に物を取り出すことができる非常に構成可能な軽量libstdc ++もトリックを行います
私はここで不気味なことをしようとしています。GNUのg ++でコンパイルされたC ++プログラムを作成しようとしていますが、libstdc ++に依存していません:)しかし、最も基本的なものでさえ必要なようです。
構成可能な機能セットを備えた libstdc++ は受け入れられます。
私が使用するコマンドは
libstdc++ がないと、次のようになります。
これらは libc にはないので、これらだけを実装する本当に軽い libstdc++ はありますか?
この方法でビルドしたいテストコードは、現在次のようになっています。
linux - libstdc++.so.5: 共有オブジェクト ファイルを開けません - ただし、ライブラリはインストールされており、最新です
私のクライアントは、開発者に Linux サーバーで実行する小さな C++ コマンドライン アプリを作成してもらいました。サーバーの 1 つ (Fedora 11 を実行) でアプリを実行すると、次のエラーが表示されます。
明らかに私が最初にしたことは
しかし、私は得る
したがって、ライブラリは既に存在し、最新です。通常、これらのエラーはライブラリが見つからないことを示しています。では、次はどこを見ればよいのでしょうか。
c++ - ロケールとストリームを使用した C++ の mbsrtowcs と wcsrtombs の同等物
std::locale および C++ ストリーム機能を使用する mbsrtowcs および wcsrtombs 型関数に相当する C++ はありますか?
標準ライブラリを使用して std::string と std::wstring の間で相互に変換する最良の方法を見つけようとしています。std::locale はほとんどこれを行うことができるようですが、いくつかの詳細、またはそれが持つ可能性のある制限について少し不安です。
詳細: 私は Linux を使用しており、ネイティブ エンコーディングとして utf-8 を使用しています。情報を失うことなく、utf-8 std::string から std::wstring に戻りたいと思います。
Windows のロケールにはいくつかの制限があると思いますが、特に気にする必要はありません。答えが Linux で機能し、libstdc++ を超える依存関係がない限り、つまりブースト依存関係がない限り、私は満足しています。
背景情報へのリンクを歓迎します。
注: いくつかの混乱があるようです。複数の char が UTF-8 の 1 つの文字を表すことができるため、wchar_t から char への変換時にこれを考慮しない関数は機能しません。
xcode - ストレートObjective-CターゲットでObjective-C++静的ライブラリを使用する
Objective-C++を使用する静的ライブラリを構築します。ストレートのObjective-Cターゲットで使用すると、
これは、ターゲットの「その他のリンカーフラグ」に-lstdc++を追加することで解決できます。
質問:静的ライブラリ自体でこれを指定して、この手順を不要にする方法はありますか?(それ以外の場合は、ライブラリのユーザーのための追加の手順として文書化する必要があります。)
c++ - ベクトルのディープコピーmyArr
の深いコピーを作成するためにmyArr
、
Point
メンバーとして2つのintを持つクラスはどこにありますか
何か特別なことをする必要がありますか?または大丈夫です
いくつかのポイントを削除する必要がありますotherArr
が、同時にmyArr
、後で使用するためにすべてのポイントを削除する必要があります。
前もって感謝します
c++ - ポインタまたは参照へのイテレータ - エラー
私はこれを持っています:
なぜこれが機能しないのだろうか?「参照型の初期化が無効です...」というメッセージが表示されます
どんな助けでも大歓迎です
ありがとう
c++ - Mac OSX 10.6でlibstdc++を静的にリンクすることは可能ですか?
libstdc ++の古いコピーを持っているかもしれないが、他のすべてのツールを持っている他のMacOSXマシンでC++プログラムを実行しようとしています。Linuxのセットアップについて説明しているにもかかわらず、このSOの質問でも言及されているこのアプローチに従おうとしました。私は小さなプログラムtry.cppを持っています:
明らかに、私がそれをコンパイルするだけで、私は得ます
libSystem.B.dylibへの依存関係を理解しているので、それはそのままにしておくことができます。libstdc ++を取り除くために、私はこれを試します:
だから、やってみます
また、
最後に、これは機能します:
これで大丈夫ですか?(gccを使用してC++プログラムをlibstdc++にリンクするため)。g ++は、実際にはgccとlibstdc++を使用してC++プログラムをコンパイルするスクリプトであるとどこかで聞いたことがあります。その場合、正しく使用すれば問題ありません。
ただし、実際にはmacportコンパイラとより複雑なプログラムを使用しています。gccはC ++に準拠していますが、いくつかの警告を生成します。効果のあるもの:
これは、c++のコンパイルにgccを使用すべきではないことを示しています。要約すると、質問は次のとおりです。
- libstdc++を静的にリンクする方法
- g ++がそれを行わない場合、gccを使用してlibstdc ++を手動で提供しても大丈夫ですか?では、なぜ視界警告なのか?
- コンパイルされたライブラリの可視性の問題のために2つのアプローチのどちらも機能しない場合は、libstdc ++ソースファイル(sstream.h、list.h、vector.c)などを使用して、コンパイルに含めてください。これによりコンパイルが遅くなりますが、特定のアプリケーションでは役立つ場合があります。それはより良い最適化につながるかもしれません!
c++ - 共有ライブラリのロード中にエラーが発生しました:libstdc ++。so.6:間違ったELFクラス:ELFCLASS64
CentOSシステムにQtをインストールしようとしています。ライブラリの構築中に、次のエラーが発生します。