问题标签 [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.

0 投票
1 回答
10929 浏览

c++ - 在 Xcode 4.5 中,“C++ 标准库”和“C++ 语言方言”的“编译器默认值”是什么?

Xcode 4.5 中“C++ 标准库”和“C++ 语言方言”的“编译器默认值”是什么值?

我的猜测是 libstdc++ 和 GNU++98,但最好能澄清一下。

来自Xcode 4.5 发行说明

使用此 Xcode 版本创建的项目使用标准 C++ 库的新 libc++ 实现。libc++ 库仅适用于 iOS 5.0 及更高版本以及 OS X 10.7 及更高版本。12221787

要在项目中的早期版本的 iOS 和 OS X 上启用部署,请将 C++ 标准库构建设置设置为 libstdc++(Gnu C++ 标准库)。

我注意到创建一个新项目明确设置了 GNU++11 和 libc++,但“编译器默认值”可能是别的东西。

0 投票
0 回答
415 浏览

c++ - 如何在 Xcode 中编译和链接 MacPort 的 libstdc++?

我刚刚通过 MacPorts 升级了我的 gcc 发行版,我想将最后一个 libstdc++4.7(它支持我感兴趣的许多 C++11 功能)与 Xcode 的 clang++ 一起使用。显然,通过 MacPorts 的命令激活新的 gcc4.7select是不够的,因为 Xcode 一直在抱怨缺少头文件,例如

我已经设置了一个额外的头文件目录(MacPorts 默认 root /opt/local/include)和额外的库目录(MacPorts 默认 root /opt/local/lib),但是看起来 Xcode 很难识别它的 C++ 头文件位于/opt/local/include/gcc47/c++.

0 投票
1 回答
192 浏览

c++ - 尝试在旧机器上使用新的 libstdc++ 会导致错误

我有一个程序,我在机器 A 上使用 CMake 编译,但我想在旧机器 B 上运行它。当我这样做时,我得到以下信息:

我已经看到了这个问题,我认为解决我的问题的最佳方法是将较新的版本复制到机器 B。所以我将/usr/lib/libstdc++.so.6(和libstdc++.so.6.0.14)从 A 复制到~/libB 并做了

然后。开始我的程序时,我现在得到

我该怎么做才能让它发挥作用?

0 投票
0 回答
92 浏览

c++ - 是否可以包含标准库 libstdc++,所以我不需要在我的目标上安装它?

可能重复:
如何静态链接 libstdc++

我想确保在我的目标平台上使用相同版本的标准库。那么有没有办法用我的程序编译它?

0 投票
2 回答
577 浏览

c++ - 使用 c++11/最近的 g++ 版本 (4.7/4.6) 的可移植性

我最近一直在使用 g++ 4.6 和 g++ 4.7 开发一个程序。我目前正在利用许多 c++11 功能。

我做出了这个决定,认为我可以将库与程序一起捆绑在一个子目录中并使用 LD_LIBRARY_PATH。从那以后,我发现这导致我的程序出现段错误。我可能应该早点测试一下吧。似乎是捆绑的 libc.so.6 导致它(可能是其他的,但绝对是 libc)。

在过去,我使用过这种技术,它无法安装库并且运行良好,但我从来不需要在程序中包含 libc 和 libstdc++。

有没有办法解决这个问题,还是我必须回滚到旧的 c++/libc/libstdc++ 版本?(以及随之而来的代码更改的噩梦)

0 投票
2 回答
638 浏览

c++ - c++11 STL的binomial_distribution极慢

我正在使用 STL 的“随机”生成二项式分布的随机数。当范围很大时,它变得非常慢。对于范围 40,生成 100 个数字需要 12 秒。对于更大的范围,时间会急剧增加(我需要大约 10000 的范围)。它似乎不依赖于概率参数。我正在使用 g++ 4.5.0。

输出:

我可以使用正态近似,但它对概率参数的极值不利。

更新:

使用“-O3”选项,时间变为~2 秒。使用 g++ 4.6.3,问题完全消失了——时间几乎不依赖于范围,生成 100 个数字需要 5 毫秒。

0 投票
1 回答
814 浏览

c++ - 如何在 CMake 中以可移植方式获取 libstdcxx 隐式链接目录

背景是我们的项目必须使用不同的 GCC 版本(ABI 可能不兼容),并且我们的构建服务器中安装了多个版本的 GCC。我们使用包装器项目来设置LD_LIBRARY_PATH、准备环境export LD_LIBRARY_PATH=/path/to/gcclib/并在包装器脚本中启动我们的应用程序。

由于使用了不同风格的 gcc/g++,我们想知道是否有一种简单的方法来获取libstdc++.so链接的隐式库路径。例如,其中一个 GCC 工具安装在/opt/gcc4/gcc4.7/bin/g++中,而 libstdc++.so 可以在/opt/gcc4/gcc4.7/lib/中找到,而另一个 GCC 变体可能位于在/usr/local/bin/g++/usr/lib/libstdc++.so中。

0 投票
1 回答
12812 浏览

c++ - “程序入口点 _ZNSt8_detail15_List_node_base7_M_hookEPS0_ 无法位于动态链接库 libstdc -6.dll 中。”

有一个小问题。我有 c++ 代码,它链接到一些库。我以前有源代码中的(原始)exe,并且可以在第一台机器上完美运行。还有第二台机器,我在其中处理源代码,更改它等。在第二台机器上,该源代码的构建工作正常,当我复制 second.exe 并尝试在第一台机器上运行它时它显示错误消息

“程序入口点_ZNSt8_detail15_List_node_base7_M_hookEPS0_不能位于动态链接库libstdc++-6.dll中。”

有一件事,second.exe 与 original.exe 复制在同一个文件夹中,所以它应该看到 ddl,因为原始 dll 与 original.exe 在同一个文件夹中,不是吗?它是用 MinGW 编译的,在 NetBeans 和项目属性中工作,有库添加(通过添加库文件)但 libstdc++-6.dll 没有添加。libstdc++-6.dll 位于 original.exe 所在的文件夹中

谢谢

0 投票
1 回答
941 浏览

c++ - 在非标准位置使用 icpc 和 gnu libstdc++

我正在尝试将 icpc 与 c++11 功能一起使用,但是我需要一个 c++11 标准库,英特尔不提供。

我在 RHEL 6 上以用户身份运行,因此系统 libstdc++ 已过时。安装了较新的版本,但它位于非标准位置。

如何链接到非标准位置的 gcc std 库?我使用什么标志?

0 投票
1 回答
1248 浏览

visual-c++ - 如何获取 msvc 所需运行时库的位置

我有 CMake 的自定义包装器,它为各种平台(win32、SunOS 等)和不同的编译器执行配置、编译和创建分发。我需要将所有需要的运行时库(libgcc_s.so,libstdc++.so for *nix like OS.msvcr90.dll,msvcp100.dll for win32)放入分发中。例如,gcc 具有允许获取这些库的全名的机制:

所以我需要类似的 msvc 机制(2008、2010),这可能吗?(它可以是给定编译器的环境变量、注册表值或其他)。或者也许有一些 CMake 机制来获取这些信息。