问题标签 [g++-4.7]

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 回答
377 浏览

c++ - 标准库 (limits.h) 的 g++ 错误

我试图从http://openbiometrics.org/doxygen/latest/installation.html安装 OpenBR ,但标准 c 库出现错误。

我所知道的是 numeric_limits 是标准的 c++ 库。而且这样的错误不应该存在。请解释为什么会出现这个问题。

我的 g++ 版本是 4.9.0。我还尝试了 4.8 和 4.7 版本。

0 投票
1 回答
243 浏览

c++ - 如何在 C++ 模板中调用静态数组的析构函数?

为了支持数组类型作为模板参数,如何在 C++11 中实现以下模板函数?当前编译失败,错误如下。是否有一些句法技巧可以解决这个问题?

输出:

更新:如果像 struct Storage { CharType value; 这样的包装器缓冲区 } 用于代替 CharType(即 Storage* 代替 CharType*),那么这可以允许通过 Storage::~Storage() 调用 CharType = 数组的析构函数。这可以在导致这个问题的代码中起作用。但是,问题仍然存在:如果允许在 C++ 中显式调用固定大小数组的析构函数,那么如何执行此操作?

0 投票
2 回答
16731 浏览

c++ - 如何在 ubuntu 14.04 中通过 apt-get 安装 gcc/g++ 的早期版本(4.4.7)?

由于遗留问题,我必须在我当前的 Ubuntu-gnome 14.04 32 位虚拟机中安装 gcc/g++ 版本 4.4.7。

通过 apt-get install 进行的默认更新是 4.8.2,这是该项目的“不可行”工作。我已经删除了它(apt-get remove)。下载并尝试安装 4.4.7 源,但它需要许多依赖项。

通过 apt-get install 我试过做:

下载/安装速度非常快,当检查 gcc 版本时,它表明没有安装 gcc 来运行

如果我这样做,我将获得 4.8 版本。

以上所有内容也适用于 g++。

0 投票
1 回答
3630 浏览

opensuse - 在 suse 上安装 gcc g++ 4.7 从未找到“rpmlib(PayloadIsLzma)

我通过谷歌http://rpm.pbone.net/index.php3/stat/4/idpl/20369594/dir/opensuse_12.x/ ​​com/gcc47-c++-4.7.2_20130108-2.1.6.x86_64 找到了 rpm 。 rpm.html

一个个找到rpm,但一直没有找到“rpmlib(PayloadIsLzma) <= 4.4.6-1”所以我尝试用另一种方法安装GCC g++ 4.7

0 投票
2 回答
8933 浏览

c++ - ofstream 不能在 linux 上运行

我有一个简单的测试代码:

如果我在 Windows 上编译它,它会完美运行。但是,当我使用以下命令在 debian 上编译它时: g++-4.7 -std=c++0x -lpthread TestStream.cpp -ldl -o TestStream 比它给出以下输出: 在此处输入图像描述

我用谷歌搜索了这个错误无济于事。有人知道如何解决这个问题吗?我在我的项目中使用了很多 ofstreams,也想在 linux 上编译它。

编辑:多亏了 WinterMute,我现在可以编译它,但是现在它打印空文件。我该如何解决?

EDIT2:不知道为什么,但第二次编译它工作。谢谢!

0 投票
2 回答
4261 浏览

c++ - C++11 上的嵌套类成员访问

在 C++11 中,我试图通过以下方式从嵌套类访问封闭类的成员变量:

即使使用带有 -std=c++11 的 g++4.7.2 也无法编译,会产生以下形式的错误消息:

据我了解,C++11 将嵌套类视为该类的成员,因此据说嵌套类可以访问封闭类的所有其他成员。我做错什么了吗?提前致谢。

更新:

虽然我的问题似乎在下面有答案,但我不相信这会被标记为重复。

在发布问题之前进行了大量搜索之后,我知道在 C++11 标准之前关于嵌套类和封闭类之间关系的讨论。

像这样的先前相关讨论引用了 C++11 中的一些“更新”,例如C++ 嵌套类可访问性

但至少从我读过的答案来看,C++11 在这个问题上与旧版本“不同”的程度还不是很清楚。

从技术上讲,我的问题的解决方案存在于较旧的线程中,例如 Nested class' access to enclosure class' private data members,必须指出这一事实,但它让我看起来很愚蠢。但是我没有得到任何将 C++11 置于上下文中的答案。至少,我认为我的问题不能被公平地视为 C++11 标准之前提出的问题的“重复”。

0 投票
1 回答
955 浏览

c++ - gcc 一起构建对象和依赖文件

在 Ubuntu 上使用 gcc 4.7.2,我正在使用以下命令编译一些源文件:

这很好用,给了我一个合理的目标文件,obj/foo.o. 但是,如果我还想同时生成依赖文件:

然后当我得到一个完全合理的外观obj/foo.dep时,我得到一个空的obj/foo.o。编译也没有任何输出。查看文档,似乎这应该有效:

-MD
    如果 -MD 与 -E 一起使用,则任何 -o 开关都被理解为指定
    依赖输出文件(请参阅 -MF),但如果不使用 -E,则每个 -o 都被理解为
    指定一个目标对象文件。

    由于没有隐含 -E,因此 -MD 可用于生成依赖项输出文件作为
    编译过程的副作用。

我没有使用-E,所以这不应该给我一个目标文件和一个依赖输出文件吗?如何确定问题出在哪里?

0 投票
1 回答
182 浏览

c++11 - g++ (tdm-1) 4.7.1 不支持所有 c++11 特性

假设 g++ (tdm-1) 4.7.1 附带的 windows 代码块支持所有 C++11 功能,未重新编译std::stoi(str),其他 c++11 功能相同。(包括字符串标题)。

我需要寻找另一个编译器吗?

0 投票
2 回答
107 浏览

matlab - 编译错误:带有 MATLAB 的 Ubuntu 14.04 中的 libDAI-0.3.2

我正在尝试在 Ubuntu 14.04中安装libDAI-0.3.2 。我需要将它与 MATLAB 一起使用。

我做了以下更改:

  1. 在 Makefile.conf 中:

    CC=g++-4.7

    MEXFLAGS:=CXX=#$(CC) CXXFLAGS#'$(CCFLAGS)'

  2. 在 Makefile.ALL 中:WITH_MATLAB=true

  3. 由于 Ubuntu 14.04 中的默认编译器是 gcc 4.8.4,我安装了 gcc-4.7 和 g++4.7。

我仍然收到以下编译错误:

这是什么意思?知道如何解决这个问题吗?

谢谢和问候, Swagatika

0 投票
2 回答
278 浏览

c++ - g++ 4.7中的OpenMP(并行)不是很有效吗?5 倍 CPU 时 2.5 倍

我曾尝试将OpenMP单个#pragma omp parallel for. @ 3.40GHz。这就是在 Debian 7 (wheezy) 上使用和编译的区别。g++ -O3g++ -O3 -fopenmpgcc (Debian 4.7.2-5) 4.7.2

  • 为什么它最多只使用 500% CPU,而理论最大值为 800%,因为 CPU 是 4 核 / 8 线程?它不应该至少达到700s吗?

  • 为什么我的总时间仅提高了 2.5 倍,而 CPU 使用成本却提高了 5 倍?缓存抖动?

整个程序基于 C++string操作,具有递归处理(使用大量的.substr(1)和一些连接),其中所述字符串连续插入到 a vectorof 中set

换句话说,基本上,在单个并行 for 循环中完成了大约 2k 次循环迭代,在 上操作vector,并且它们中的每一个都可以对自身进行两次递归调用 w/ somestring .substr(1)+ charconcatenation,然后递归终止于set .inserta单个字符串或两个字符串的串联,并且 saidset .insert还负责处理大量可能的重复项。

一切都在规范范围内正确运行,但我正在尝试看看它是否可以运行得更快。:-)