问题标签 [gcc4.6]

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 投票
2 回答
804 浏览

c++ - C++11 初始化语法问题(使用 gcc 4.5 / 4.6)

以下 C++11 代码有什么问题:

gcc 在指示的行出现错误(我尝试了 gcc 4.5 和 gcc 4.6 的实验版本)

这不是有效的 C++11,还是 gcc 的实现不完整?

编辑:这是编译器错误:

0 投票
5 回答
16267 浏览

c - Linux 上的这个 GCC 错误是什么,我该如何解决?gcc:内部编译器错误:非法指令(程序为)

我输入gcc hello.c并出现:

hello.c 只是:

我想不出任何方法让它变得更简单!(那里也发生了同样的事情printf。)

那么:你如何解决这个问题?我在 Raspian 上,在 Raspberry Pi 上。

编辑

gcc -v 给出

不,我没有安装它。

至于更新,sudo apt-get install gcc给出

是的,你可以运行as,它说Illegal instruction没有参数。

我不知道什么是交换空间。

gcc -O0 -g hello.c给出同样的错误。

gcc 无法识别--enable-debug.

0 投票
0 回答
431 浏览

c - GCC 4.6.3 与 4.7.3:x86_64 打印 greg_t 的差异

我正在尝试修复构建错误。

有问题的代码行如下:

因此:

  • gregs 的类型为 gregset_t
  • gregs[i] 是 greg_t 类型

现在这段代码(用于生成核心转储和堆栈跟踪)已经工作了很长时间,但最近,GCC 4.7.3(Ubuntu 13.04)开始拒绝它:

美好的。所以我将违规行更改为:

但是 GCC 4.6.3 (Ubuntu 12.04) 反而抱怨:

在这部分代码中已经有用于各种寄存器的 ifdef,所以我可以添加另一个,但是有没有一种很好的干净方法来做到这一点(尤其是不需要额外的 ifdef)?

0 投票
1 回答
16541 浏览

c++ - 错误:命名空间“std”中的“mutex”没有在 gcc 4.6.2 中命名类型

像这样的简单程序

尝试了以下编译

顺便说一句,我在 Mac 上编译。

0 投票
0 回答
228 浏览

c++ - Travis-CI 因符号查找错误而失败,在其他地方工作正常

我有一个名为 NMatrix 的库(技术上是 Ruby 扩展),它是用 C 和 C++ 编写的。它使用 C++ 模板来管理不同的类型,例如,Rational128Rational64. 它也有RubyObject和。我通过在目标文件中创建一些模板版本来强制构建这些模板版本——在从库入口点调用的函数中。Complex64Complex128

它在 GCC 4.7 中工作得很好,但是当我在 Travis-CI 上编译时,它在运行时遇到一个未定义的符号错误

未定义的符号是nm::Complex::Complex(nm::RubyObject const&),它是显式定义和实例化的(见下文)。

这是一个精简版data.cpp

data.h就像这样:

nmatrix.cpp是声明库入口点的地方。相关部分如下所示:

那么我做错了什么?为什么这适用于 GCC 4.7.1(所有规范都通过),但不适用于 4.6.3?它是一个错误吗?(如果是错误,是否有解决方法?)

如果你很好奇,相关文件的完整版本在这里

0 投票
3 回答
39157 浏览

c++ - 编译器错误预期嵌套名称说明符

我是这个问题的 OP:扩展一个我收到了很好答案的课程。但是,当我尝试编译代码时(对我的项目进行了轻微修改),我收到了以下消息(行号已更改以反映以下示例代码):

以及更多似乎源于这条线的东西。我是 C++ 的新手,我对答案(以及即将出现的问题)的研究得出了这样一个事实:微软的编译器似乎接受了代码,但符合标准的编译器却不接受。

我目前拥有的代码如下:

通读链接问题中的代码向我表明(以我有限的知识)它应该都可以工作。

因此,我的问题是:我需要在此声明/定义中进行哪些更改以使其能够使用 gcc 进行编译(使用 -std=C++0x 编译的 4.6.3 64 位 linux)?

0 投票
2 回答
4111 浏览

macos - mac上的gcc 4.6,我如何让它工作?

我在让 gcc 4.6 在 Mac 10.8.5 上运行时遇到问题。

我在此类问题上的经验非常有限,我一直在四处寻找并尝试不同的方法来使其发挥作用,但无济于事。如果这个问题的答案真的很简单,我很抱歉(我真的希望它是!)

这是我的问题:

我需要运行一些软件来进行分析,称为贝叶斯扫描。这部分软件需要一个作为 gcc4.6 一部分的库才能在 MacOSX 上运行。他们在他们的分发页面上这么说(http://cmpg.unibe.ch/software/BayeScan/download.html

我现在已经使用 homebrew* 安装了 gcc4.6。

但是,这并不能解决我的问题。因为当我尝试运行软件时仍然收到以下错误消息:

dyld:库未加载:/usr/local/lib/libgomp.1.dylib

谷歌告诉我 libgomp.1.dylib 是 gcc46 的一部分。

当我输入: gcc --version 时,我得到:

配置: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM 5.0 版 (clang-500.2.79) (基于 LLVM 3.3svn)目标:x86_64-apple-darwin12.5.0

这让我相信,当我的计算机在寻找 gcc 时,它会寻找缺少所需库的旧版本。或者gcc4.6没有正确安装。

所以我有两个问题:

1)我的假设/结论是否正确?

2) 如何让我的电脑指向 gcc4.6?

提前感谢您提供的任何帮助。这个问题让我有点发疯。

有没有很好的资源来学习如何构建环境和组织依赖关系,因为这是我经常遇到的问题?

(*我被建议使用自制软件,但我认为这对我来说有点浪费时间,因为我的计算知识不足以成为对我有用的工具,因为文档非常有限)。

0 投票
2 回答
1125 浏览

c - 具有_TIME_、_FILE_、_FUNCTION_、_LINE_的自定义打印功能

我在debug.h中有以下代码:

debug.c 中

编译后我收到以下错误:

我该如何解决这个问题?这里有什么问题?先感谢您。

0 投票
3 回答
423 浏览

c++ - 将 void* 与 uint16_t 进行比较

在一些在 GCC 4.6(带有-fpermissive)上编译良好的遗留代码中,我有这个:

这种比较在 GCC 4.6 上是否定义明确?它是向下转换为 16 位还是向上转换为 32/64 位?

0 投票
1 回答
129 浏览

c - fscanf 将输出写入变量的索引

我正在尝试编写交流程序来监控处理器的温度。为了测试我的程序,我使用 fscanf 从文件中读取整数。令我惊讶的是,这在某些条件下不起作用。我正在使用以下代码:

它编译没有错误。在 fscanf 的第三次(也是最后一次)调用之前,一切都按预期工作:然后突然 'c' 得到值 42 (实际上应该得到的 'core' ):

发生分段错误是因为 fclose 尝试关闭不存在的 cmd[42]。

当使用 'CORECOUNT' 的其他值(例如 4)时,一切都按预期工作。但是,当使用二进制最后两位数字为“11”的数字时(例如 3、7、11、15,...),程序将崩溃。当声明另一个整数并将其设置为“0”时,当“CORECOUNT”的值为“11”作为二进制的最后两位数字时,程序按预期工作。如果不是这种情况,'core' 有时会得到奇怪的值(例如,'15274000',每次执行程序时都不相同)。

奇怪的是,这只发生在 gcc 4.6.3 中,而不发生在 gcc 4.8 中

我的代码中的错误在哪里?或者它甚至是编译器中的东西(我非常怀疑)?

就目前而言,我将声明另一个变量('tmp')并将其用作 fscanf 调用中的索引:

如果有任何拼写/语法错误,我很抱歉;英语不是我的母语。