Questions tagged «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 ++:有陷阱吗?
我需要将基于GCC 4.7的libstdc ++的,在Ubuntu 12.10上构建的C ++应用程序部署到运行Ubuntu 10.04的系统,该系统随附相当老的libstdc ++版本。 目前,我正在-static-libstdc++ -static-libgcc按照此博客文章的建议进行编译:静态链接libstdc ++。作者警告不要在静态编译libstdc ++时使用任何动态加载的C ++代码,这是我尚未检查的事情。尽管如此,到目前为止一切似乎都进展顺利:我可以在Ubuntu 10.04上使用C ++ 11功能。 我注意到这篇文章是从2005年开始的,此后也许已经发生了很大的变化。它的建议仍然有效吗?有没有我应该注意的潜伏问题?

1
将libstdc ++编译的库与clang ++ -stdlib = libc ++一起使用
我在Mac OS X(10.8.2)下使用C ++进行工作,最近我提出了使用C ++ 11功能的需求,这些功能可以通过使用libc ++ stdlib的clang ++编译器获得。但是,我还需要使用一些针对libstdc ++编译并链接的旧式库(来自MacPorts)。 这样做时,我遇到了链接错误,因为使用(例如)的遗留库的标头std::string需要针对std::__1::basic_string(即libc ++实现std::string)而不是针对std::basic_string实现进行解析。 有没有办法在开发中混合这两个库(例如,通过使用一些预处理器标志?)
72 c++  c++11  clang  libstdc++  libc++ 

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 ++版本之一)指向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>()))> {};
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.