タグ付けされた質問 「libstdc++」

19
/usr/lib/libstdc++.so.6:バージョン `GLIBCXX_3.4.15 'が見つかりません
UbuntuでGLIBCXX_3.4.15を入手するにはどうすればよいですか?コンパイルしている一部のプログラムを実行できません。 私がする時: strings /usr/lib/libstdc++.so.6 | grep GLIBC 私は得ます: GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBC_2.2.5 GLIBC_2.3 GLIBC_2.4 GLIBC_2.3.4 GLIBC_2.3.2 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH 助けてくれてありがとう!
135 c++  gcc  libstdc++ 

3
正規表現についてgcc 4.8以前のバグがありますか?
C ++ 11のコードでstd :: regexを使用しようとしていますが、サポートに少しバグがあるようです。例: #include <regex> #include <iostream> int main (int argc, const char * argv[]) { std::regex r("st|mt|tr"); std::cerr << "st|mt|tr" << " matches st? " << std::regex_match("st", r) << std::endl; std::cerr << "st|mt|tr" << " matches mt? " << std::regex_match("mt", r) << std::endl; std::cerr << "st|mt|tr" << …
101 c++  regex  gcc  c++11  libstdc++ 

2
libc ++またはlibstdc ++を使用する必要がありますか?[閉まっている]
クローズ。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前に閉鎖されました。 この質問を改善する 私はc / c ++を使用してosxとlinuxの両方のコマンドラインインターフェイス実行可能ファイルを開発しています。プロジェクトはopencvに対してリンクします。libc ++またはlibstdc ++を使用する必要がありますか?

5
libstdc ++を静的にリンクする:何か落とし穴はありますか?
Ubuntu12.10で構築されたC ++アプリケーションとGCC4.7のlibstdc ++を、かなり古いバージョンのlibstdc ++が付属しているUbuntu10.04を実行しているシステムにデプロイする必要があります。 現在、-static-libstdc++ -static-libgccこのブログ投稿で提案されているように、私はコンパイルしています:libstdc ++を静的にリンクします。著者は、libstdc ++を静的にコンパイルするときに、動的にロードされたC ++コードを使用しないように警告しています。これは、私がまだチェックしていないことです。それでも、これまでのところすべてが順調に進んでいるようです。Ubuntu10.04でC ++ 11の機能を利用できます。これは、私が求めていたものです。 この記事は2005年のものであり、おそらくそれ以来多くの変更が加えられていることに注意してください。そのアドバイスはまだ最新ですか?知っておくべき潜在的な問題はありますか?

3
std :: vector(ab)は自動ストレージを使用します
次のスニペットを考えてみましょう: #include <array> int main() { using huge_type = std::array<char, 20*1024*1024>; huge_type t; } 通常、デフォルトのスタックサイズは通常20MB未満であるため、ほとんどのプラットフォームでクラッシュします。 次のコードを考えてみましょう: #include <array> #include <vector> int main() { using huge_type = std::array<char, 20*1024*1024>; std::vector<huge_type> v(1); } 意外にもクラッシュします!トレースバック(最近のlibstdc ++バージョンの1つを使用)はinclude/bits/stl_uninitialized.hファイルにつながり、ここに次の行が表示されます。 typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; std::fill(__first, __last, _ValueType()); サイズ変更vectorコンストラクターは、要素をデフォルトで初期化する必要があります。これが実装方法です。明らかに、_ValueType()一時的にスタックがクラッシュします。 問題は、それが適合実装であるかどうかです。はいの場合、それは実際には巨大な型のベクトルの使用がかなり制限されていることを意味しますね?

1
これはstd :: gcdのバグですか?
私はstd::gcd予期しないことに気付いたこの振る舞いに遭遇しました: #include <iostream> #include <numeric> int main() { int a = -120; unsigned b = 10; //both a and b are representable in type C using C = std::common_type<decltype(a), decltype(b)>::type; C ca = std::abs(a); C cb = b; std::cout << a << ' ' << ca << '\n'; std::cout << …

1
gccのis_nothrow_constructibleの実装でstatic_castが必要なのはなぜですか?
GCC実装から取得した、type_traitsなぜstatic_castここで必要なのですか? template <typename _Tp, typename... _Args> struct __is_nt_constructible_impl : public integral_constant<bool, noexcept(_Tp(declval<_Args>()...))> {}; template <typename _Tp, typename _Arg> struct __is_nt_constructible_impl<_Tp, _Arg> : public integral_constant<bool, // Why is `static_cast` needed here? noexcept(static_cast<_Tp>(declval<_Arg>()))> {};
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.