问题标签 [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 回答
10406 浏览

linker - 如何链接特定库( g++; libstdc++.so.5 和 libstdc++.so.6 )

一个简单的问题 - 有没有办法让g++链接器链接到特定的libstdc++库版本?gcc我在/的手册页中没有发现任何有用的信息g++,在此处的其他问题中也没有。

情况是这样的——我的应用程序使用了一个特定的共享库,它是libstdc++.so.5用它构建的,我想在RHEL5. 因此,当我尝试在RHEL5机器上构建应用程序时,我收到了警告:

安装compat-libstdc++rpm 没有帮助,程序在 . 的析构函数上崩溃std::string因为. 所以,在这台机器上我有这个: RHEL5

当我做

这很糟糕,因为我知道这是未定义的行为:/

那么,有没有办法只使用构建我的可执行文件libstdc++.so.5?(由于许多原因,删除libstdc++.so.6不是一种选择。静态链接也不是一种选择)。

非常感谢!

0 投票
2 回答
504 浏览

c++ - 在向量中存储对象

是否可以在不专门化的情况下拥有一个向量?

我的问题是:我有一个抽象类 N4GestureRecognizer 和它的几个子类。因此,在 Controller 类中,我想要一个vector<N4GestureRecognizer> recognizers_,但由于它是抽象的,所以我不能。如何将此识别器存储在向量或集合或列表中,或者在标准 C++ 中可循环的任何内容中?

0 投票
5 回答
8743 浏览

c++ - 没有 libstdc++ 的 g++ - 可以吗?- 一个非常可配置的轻量级 libstdc++,我可以轻松取出东西也可以解决问题

我在这里尝试一些诡异的东西。我正在尝试编写使用 GNU 的 g++ 编译的 C++ 程序,但不依赖于 libstdc++ :) 但似乎我需要它,因为即使是最基本的东西也需要它。

具有可配置功能集的 libstdc++ 是可以接受的。

我使用的命令是

没有 libstdc++,我得到:

这些不在 libc 中,那么是否有一个真正轻量级的 libstdc++ 可以实现这些东西?

我想以这种方式构建的测试代码目前如下所示:

0 投票
7 回答
57369 浏览

linux - libstdc++.so.5:无法打开共享对象文件 - 但库已安装且是最新的

我的客户让一些开发人员编写了一个小型 C++ 命令行应用程序来在他们的 Linux 服务器上运行。在其中一台服务器(运行 Fedora 11)上,当我执行应用程序时,我收到以下错误:

显然我做的第一件事是

但我明白了

所以图书馆已经存在并且是最新的。通常对我来说,这些错误表明缺少库。那么接下来我应该去哪里看呢?

0 投票
2 回答
948 浏览

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 中的单个字符,因此在从 wchar_t 转换为 char 时不考虑这一点的函数将不起作用。

0 投票
1 回答
534 浏览

xcode - 在直接 Objective-C 目标中使用 Objective-C++ 静态库

我构建了一个使用 Objective-C++ 的静态库。当它用于直接的 Objective-C 目标时,我得到

我可以通过将 -lstdc++ 添加到目标的“其他链接器标志”来解决这个问题。

问题:有没有办法在静态库本身中指定它以使这一步变得不必要?(否则,我必须将其记录为图书馆用户的额外步骤。)

0 投票
3 回答
6882 浏览

c++ - 矢量的深拷贝我的Arr

为了制作深拷贝myArr

哪里Point是一个有 2 个整数作为成员的类,

我需要做一些特别的事情吗?或者可以

我需要删除一些点,otherArr但同时我需要所有点以myArr供以后使用。

提前致谢

0 投票
2 回答
177 浏览

c++ - 指向指针或引用的迭代器 - 错误

我有这个:

我想知道为什么这不起作用?我得到“引用类型的初始化无效......”

任何帮助将不胜感激

谢谢

0 投票
2 回答
5547 浏览

c++ - 是否可以在 Mac OSX 10.6 中静态链接 libstdc++?

我正在尝试在其他 Mac OSX 机器上运行我的 C++ 程序,这些机器可能具有较旧的 libstdc++ 副本,但具有所有其他工具。我尝试遵循这种方法,在这个 SO question中也提到过,即使它讨论了 linux 设置。我有小程序try.cpp:

显然,如果我只是编译它,我会得到

我理解对 libSystem.B.dylib 的依赖,我们可以把它放在一边。为了尝试摆脱 libstdc++,我试试这个:

所以,我尝试

或者,

最后,这有效:

这可以吗?(使用 gcc 将 C++ 程序与 libstdc++ 链接)。我在某处听说 g++ 实际上是一个使用 gcc 和 libstdc++ 编译 C++ 程序的脚本。如果是这样,并且我们正确使用它,应该没问题。

但是,我实际上使用的是 macport 编译器和一个更复杂的程序,gcc 会为此生成一些警告,但它与 C++ 兼容。大意是:

这表明我们不应该将 gcc 用于 c++ 编译。所以总结起来,问题是:

  • 如何静态链接 libstdc++
  • 如果 g++ 不这样做,可以使用 gcc 并手动提供 libstdc++ 吗?那么为什么会出现能见度警告呢?
  • 如果由于编译库中的可见性问题,这两种方法都不起作用,那么为什么不使用 libstdc++文件(sstream.h、list.h、vector.c)等并将它们包含在编译中。尽管这会使编译变慢,但它可能对某些应用程序很有用。它甚至可能导致更好的优化!
0 投票
3 回答
45641 浏览

c++ - 加载共享库时出错:libstdc++.so.6:错误的 ELF 类:ELFCLASS64

我正在尝试在我的 CentOS 系统中安装 Qt。在构建库时,我收到此错误: