问题标签 [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.
c++ - 标准库 (limits.h) 的 g++ 错误
我试图从http://openbiometrics.org/doxygen/latest/installation.html安装 OpenBR ,但标准 c 库出现错误。
我所知道的是 numeric_limits 是标准的 c++ 库。而且这样的错误不应该存在。请解释为什么会出现这个问题。
我的 g++ 版本是 4.9.0。我还尝试了 4.8 和 4.7 版本。
c++ - 如何在 C++ 模板中调用静态数组的析构函数?
为了支持数组类型作为模板参数,如何在 C++11 中实现以下模板函数?当前编译失败,错误如下。是否有一些句法技巧可以解决这个问题?
输出:
更新:如果像 struct Storage { CharType value; 这样的包装器缓冲区 } 用于代替 CharType(即 Storage* 代替 CharType*),那么这可以允许通过 Storage::~Storage() 调用 CharType = 数组的析构函数。这可以在导致这个问题的代码中起作用。但是,问题仍然存在:如果允许在 C++ 中显式调用固定大小数组的析构函数,那么如何执行此操作?
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++。
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
c++ - ofstream 不能在 linux 上运行
我有一个简单的测试代码:
如果我在 Windows 上编译它,它会完美运行。但是,当我使用以下命令在 debian 上编译它时: g++-4.7 -std=c++0x -lpthread TestStream.cpp -ldl -o TestStream 比它给出以下输出:
我用谷歌搜索了这个错误无济于事。有人知道如何解决这个问题吗?我在我的项目中使用了很多 ofstreams,也想在 linux 上编译它。
编辑:多亏了 WinterMute,我现在可以编译它,但是现在它打印空文件。我该如何解决?
EDIT2:不知道为什么,但第二次编译它工作。谢谢!
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 标准之前提出的问题的“重复”。
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
,所以这不应该给我一个目标文件和一个依赖输出文件吗?如何确定问题出在哪里?
c++11 - g++ (tdm-1) 4.7.1 不支持所有 c++11 特性
假设 g++ (tdm-1) 4.7.1 附带的 windows 代码块支持所有 C++11 功能,未重新编译std::stoi(str)
,其他 c++11 功能相同。(包括字符串标题)。
我需要寻找另一个编译器吗?
matlab - 编译错误:带有 MATLAB 的 Ubuntu 14.04 中的 libDAI-0.3.2
我正在尝试在 Ubuntu 14.04中安装libDAI-0.3.2 。我需要将它与 MATLAB 一起使用。
我做了以下更改:
在 Makefile.conf 中:
CC=g++-4.7
MEXFLAGS:=CXX=#$(CC) CXXFLAGS#'$(CCFLAGS)'
在 Makefile.ALL 中:
WITH_MATLAB=true
- 由于 Ubuntu 14.04 中的默认编译器是 gcc 4.8.4,我安装了 gcc-4.7 和 g++4.7。
我仍然收到以下编译错误:
这是什么意思?知道如何解决这个问题吗?
谢谢和问候, Swagatika
c++ - g++ 4.7中的OpenMP(并行)不是很有效吗?5 倍 CPU 时 2.5 倍
我曾尝试将OpenMP与单个#pragma omp parallel for
. @ 3.40GHz。这就是在 Debian 7 (wheezy) 上使用和编译的区别。g++ -O3
g++ -O3 -fopenmp
gcc (Debian 4.7.2-5) 4.7.2
为什么它最多只使用 500% CPU,而理论最大值为 800%,因为 CPU 是 4 核 / 8 线程?它不应该至少达到700s吗?
为什么我的总时间仅提高了 2.5 倍,而 CPU 使用成本却提高了 5 倍?缓存抖动?
整个程序基于 C++string
操作,具有递归处理(使用大量的.substr(1)
和一些连接),其中所述字符串连续插入到 a vector
of 中set
。
换句话说,基本上,在单个并行 for 循环中完成了大约 2k 次循环迭代,在 上操作vector
,并且它们中的每一个都可以对自身进行两次递归调用 w/ somestring
.substr(1)
和+ char
concatenation,然后递归终止于set
.insert
a单个字符串或两个字符串的串联,并且 saidset
.insert
还负责处理大量可能的重复项。
一切都在规范范围内正确运行,但我正在尝试看看它是否可以运行得更快。:-)