问题标签 [gcc4.8]

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

macports - MacPorts:安装 arm-none-linux-gnueabi-* 失败

我正在尝试安装用于 ARM 交叉编译的工具链。我已经安装了 GCC 4.8。

arm-none-linux-gnueabi-gcc 的安装失败,输出如下:

日志文件内容:

感谢您分享您的想法。

0 投票
2 回答
3525 浏览

c++ - constexpr 与模板、pow 函数

我正在试验 c++11 的新特性,尤其是 constexpr。如果我想用模板编写战俘,我会简单地做:

现在,如果我只需通过以下方式将我的函数调用到我的代码中:

相应的程序集将是(gcc 4.8.0,-O2):

很好,代码是内联的。

如果知道我正在寻找 constexpr 版本,我有

现在对应的程序集是:

其中函数 __Z#powIdET_RS0_m 似乎由

那么您知道为什么使用 constexpr 函数不是内联的,而是将其视为“外部”函数吗?是否存在强制内联 constexpr 函数的方法?最好的。

0 投票
2 回答
6864 浏览

gcc - 尝试安装 gcc-4.8.1 时以“错误 2”退出

我正在尝试在 AWS ec2“其他 Linux”发行版上安装 gcc-4.8.1。我下载了 gcc-4.6.2.tar.gz,然后按照http://gcc.gnu.org/wiki/InstallingGCC的“配置”标题下的这些说明进行操作(针对 4.8.1 而不是 4.6.2 进行了修改):

当我运行“make”时,程序运行了一段时间,但最终退出并出现以下错误:

任何人都可以深入了解为什么会发生这种情况吗?我根本不明白错误信息。我正在使用 gcc4.6.1 构建它,而 /home/ec2-user/gcc-4.8.1_install 是我从内部运行命令的目录。

0 投票
2 回答
15353 浏览

c - 即使使用 -g 选项,GCC 也不会产生行号信息

我已经从源代码构建并安装了 GCC 4.8.1:

我写了一个简单的无用程序:

现在我编译这个:

然后开始用 GDB 调试它:

运行它并立即 Ctrl+C :

我在回溯中有函数名称,但我的代码中没有行号:

出了什么问题?也许它与配置有关?

0 投票
1 回答
8716 浏览

c++ - 编译 gcc-4.8.1:“libmpc.so.2 无法打开共享对象文件下载先决条件”

很多人似乎都遇到过这个问题。GNU 网站强烈建议运行

在源目录中,以避免链接 MPC、MPFR 和 GMP 时出现问题。以下链接包含我遵循的说明:http: //gcc.gnu.org/wiki/InstallingGCC,我在此处列出:

此网址的常见问题解答:http: //gcc.gnu.org/wiki/FAQ#configure_suffix声称只要它们位于 gcc-4.8.1 源的子目录中,编译查找 MPC 相关文件就没有问题目录。跑步

./contrib/downlaod_prerequisites

在正确的位置下载 MPC,但运行 make 后仍然出现此错误:

打开/home/xxxx/gcc-4.8.1-build/x86_64-unknown-linux-gnu/libgcc/config.log显示以下错误:

GNU 常见问题解答 ( http://gcc.gnu.org/wiki/FAQ#configure_suffix ) 说这个错误是没有正确安装 MPC 的症状。任何帮助将非常感激。

0 投票
1 回答
455 浏览

gcc - 列表插入为 c++11 返回 void,为什么?

首先介绍一下背景:

我一直在写一个编程作业,这需要我解析一个文本语法文件。在此,我需要将 a 中的占位符字符串替换std::list<string>为其对应的扩展(该字符串表示一个句子)。

我遍历列表,并删除匹配的字符串:

其中 itr 是迭代器, ls 是我的std::list<string>

然后我插入扩展

其中 other 是存储扩展的容器。

我的问题是上一行显然不起作用。它应该是有效的 c++11 语法,我真的希望迭代器指向我刚刚插入的内容的开头。但我得到编译错误,insert显然返回void.

我已经检查过 cplusplus.com,据我所知,我认为我的使用方式没有任何问题。标准(或至少我能看到的标准)规定:

我正在使用带有-std=c++11标志的 g++ (4.8.1) 进行编译,但是当我查看 stl_list.h 时,(gcc-directory)/include/c++/4.8.1/bits我看到:

这仅仅是因为 gcc 还没有完全实现 c++11 库吗?他们忽略了这一点吗?似乎并不难做到,并且围绕它的所有其他插入函数都返回一个迭代器。

我知道我可以轻松解决这个问题,但仍然很高兴知道发生了什么。

谢谢!

编辑显然回答了我的问题。不好意思打扰了,可惜之前没找到。

0 投票
1 回答
1253 浏览

curl - 错误:GCC 4.8.1 无法创建可执行文件

在这被标记为重复之前,我已经看到了这个问题,并尝试了那里建议的符号链接方法。那没起效。

我在运行 OS X 10.8.5、Xcode 5.0 和 GCC 4.8.1 的系统上,独立于命令行工具/开发工具安装。尝试安装cURL时,运行时出现此错误./configure

检查后config.log,我发现了这个:

还有这个:

我不确定第一部分是否在./configure失败中发挥了作用,我完全不确定如何处理后一部分。

如何解决这个问题?

0 投票
1 回答
520 浏览

gcc - 在 GCC 4.8 中关闭错误消息插入符号

GCC 4.8 似乎添加了类似 Clang 的错误消息显示,例如:

我想有些人觉得这很有用,但我觉得它是多余的,它使每条错误消息都使用三行屏幕空间,而不是一行,在那里可以显示更多错误消息。

有没有办法关掉它?我一直在阅读 GCC 文档,但至少还没有找到它。特别是,有没有办法“默认”关闭它,这样我就不必为-fno-error-caret我编译的所有东西指定一些或类似的选项?

0 投票
1 回答
540 浏览

macos - 无法通过 Homebrew 安装 GCC48 - curl 错误

我正在尝试使用 Homebrew 在我的 Mac OS 10.9 上安装 gcc48,但我一直遇到此错误:

只是为了进行健全性检查,当我尝试时:

它没有进一步的进展。有人可以帮忙吗?

0 投票
2 回答
590 浏览

optimization - GCC 不使用 inc

GCC 编译器

不会生成inc汇编指令,它实际上可能有用,就像在这个 C 程序中一样:

相反,它会生成一条add指令:

为什么这样做?

编辑:我曾经gcc -O2编译过这个。gcc -Os确实会生成inc指令。不是使用inc更多的速度优化而不是空间优化吗?