问题标签 [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.
debian - 如何从远程机器编译?
我有 Debian Wheezy,我正在寻找稳定版本中不包含的 gcc 4.8。我不想传递给 Wheezy 不稳定或测试。所以,我寻找一个解决方案,我找到了两个。
首先,我使用源代码进行本地安装(仅供一个用户安装),但是存在依赖问题。我不知道是否可以通过 apt-get 进行本地安装?
其次,为此我发表了这篇文章,我用 Ubuntu 安装了 docker。我安装了我需要的所有工具。现在我想知道是否有方法可以调用安装在我的 docker 的 Ubuntu 中的 gcc 4.8 来在我的 Debian 中编译软件?
我不能做相反的事情,在 Ubuntu 中编译然后将结果移动到 Debian,因为编译会进行多次,这是我开发的一个项目,它使用 Qt5。此外,从 Docker 容器运行 Qt5 并不难。
谢谢你。
c++ - 错误:使用已删除的功能。为什么?
我正在尝试创建一个函数,该函数将任意函子应用于F
提供的元组的每个元素:
实时代码示例:http: //ideone.com/b8nLCy
我不想创建副本,A
因为它可能很昂贵(在这个例子中显然不是)所以我删除了复制构造函数。当我运行上述程序时,我得到:
我知道构造函数已被删除(这是故意的),但我不明白为什么它试图复制我的结构。为什么会发生这种情况,我怎样才能在不复制的情况下实现这一点A
?
c++ - C ++ 11 Eclipse自动完成不起作用
我正在使用适用于 C/C++ 开发人员版本的 Eclipse IDE:Luna Service Release 1 (4.4.1)。
我的自动完成功能一般都可以,我可以编译正确的 c++11 文件。然而,特定 C++11 特性的特性不会出现在自动完成中(例如某些容器的 emplace_back 函数或新容器,如 forward_list)。
它们编译得很好,所以这不是问题。
到目前为止,我尝试将语言方言从项目设置更改为 c++11。这使程序可以正常编译,但不能自动完成。
注意:代码编译得很好。这是自动完成不起作用。
c++11 - 未定义对 '__gthrw___pthread_key_create(unsigned int*, void (*)(void*)) 的引用
我正在使用 64 位 gcc-4.8.2 生成 32 位目标,而我的机器是 64 位的。我正在使用 c++11 并发功能,例如线程、互斥锁、条件变量等。
链接器在尝试链接可执行文件时给出了上述错误消息。libMyLib 也是该项目的一部分。
nm libMyLib.so | grep pthread_key_create 显示:
符号“ghtrw___pthread_key_create”来自哪里?我尝试添加'-lpthread(-pthread)'作为编译器标志,但它没有帮助。
更多信息。nm libMyLib.so | grep pthread 显示其他符号如 _ZL20__gthread_mutex_lockP15pthread_mutex_t 已定义
c++ - 使用 std::hash()(std::this_thread::get_id())
我目前正在努力让 C++ 应用程序在 Windows 和 Linux 中编译,在一些调试过程中我发现
不能在带有 gcc 4.8 的 Linux 上编译(感谢此线程中的评论)。建议的解决方法是使用:
有谁知道这些是否产生相同的输出?
c++ - Gcc 4.8.3 没有发现缺少的“return”关键字
让我们看一下这样的代码:
它使用 g++ -std=c++11 ... 编译良好,并给出输出 3。但相同的输出由下式给出:
它编译没有问题,但很明显 foobar 中缺少关键字 return。它是 gcc 4.8.3 中的错误还是我不知道某些 c++11 原则?(在 Fedora 20 上运行)
r - 有没有办法包含 stdio.h 但忽略其中的一些功能?
让我先声明我几乎是一个编程新手,在 C 或 GNU 环境中都没有受过良好的训练。另外,我真的无法提供可重现的示例,因为我没有编写此代码,我只是在尝试构建它。我已经自学足以编译一些程序,给定一个良好的预先存在的makefile,并多次使用Rtools为Windows编译R。
我一直在尝试使用 GCC 4.8.4 为 Windows(7 64 位)编译 R(Rtools 仍然存在于 4.6.3 预发行版中,并且 4.9 中的链接时间优化已经复活了一些 旧 错误),并且可以这样做问题。在其中一个文件(准确地说是/src/extra/trio/compat.c)中包含 stdio.h 和 and 的sprintf
定义vsprintf
。因此,构建崩溃并出现以下错误:
compat.c 中的行是 65–79 中的行:
如果我删除这些行,构建完成,但是 R 输出具有三位十进制科学记数法指数而不是两位数(例如“3.11e-004”而不是“3.11e-04”),这会导致各种检查崩溃。我被告知这是标准的 Windows 方法,所以我删除本地 R 版本几乎肯定会导致这个问题。
我的问题是,有什么方法可以继续将 stdio.h 包含在 compat.c 文件中,但在 compat.c 中将snpritf
其vsnprintf
重新定义为本地文件?
谢谢你。
失败的尝试 1
我尝试添加直接#undef
声明以及
vsnprintf
以及compat.c 中的对应 for ,但都不起作用。由于“重新定义”,我得到相同的构建错误崩溃停止。
失败的尝试 2
将 compat.c 中的代码更改为:
允许程序编译,但它有相同的符号错误,这意味着它在功能上等同于删除这些行。
根据评论请求更新
- 安装一些 Mingw-64 的味道并将 \bin 放在 PATH 的头部
- 安装 MSYS2:基本安装,然后添加 tar、make、zlib、zip、unzip 和 rsync,并将其 bin 作为路径中的第二个
- Untar R-3.1.2.tar.gz (两次,第一次使用 MSYS2 的 tar 1.28 返回 simlink 错误。使用 Rtolls 的已修补的 tar 1.2.1 不会返回错误)
- 将 Tcl 和 bitmapdll 子目录从 R64 (Rtools) 复制到适当的位置
- 修改 MkRules.dist 以强制执行 64 位、Windows 64 平台、HTML 帮助以及 Cairo、Inno 和 qpdf 的正确目录,并将其保存为 MkRules.local。对于这些测试,我没有使用基于 OpenBLAS 的 Rblas,除了增加
-pipe
速度之外,没有对 EOPTS 进行任何特定于处理器的调用 - 跑
make all
我已经使用 Rtools 中的二进制文件构建了很多次 R,包括使用 OpenBLAS(愚弄 R 认为它是 ATLAS)。我注意到但不明白的是,stdio.h
在 GCC 4.7(以及 4.6)和 4.8 及后续版本之间发生了变化。包含错误中抛出的行号的新版本snprintf
直接定义vsnprintf
。4.6.3 的版本没有。我复制了以下部分:
来自 GCC 4.6.3 第 494-514 行的 stdio.h:
来自 GCC 4.9.2 的 stdio.h(与 4.8.4 中的相同)第 531-565 行:
c++11 - std::unordered_map 上的 C++ 错误(Ubuntu - GCC4.8.2)
我正在尝试在 linux (Ubuntu) 上编译其他项目,这是一个使用 SDL2 的游戏。我正在使用 GCC4.8.2 和 C++11 标志使用 Code::Blocks 进行编译。我花了几个小时在互联网上查找错误甚至理解它,但一点运气都没有。我希望任何人都可以帮助我,或者至少给我一个领导。
错误是:
Floor.h 的代码:
而且,如果有帮助,Position.h 的代码:
提前致谢!!!!
c++ - 多个线程竞相将相同的数据设置为相同的值
我有一种情况,我不得不使用黑盒包装器进行多线程处理(我怀疑它位于 TBB 线程池的顶部)。
我有一个只能由具有昂贵构造函数的对象获得的值,并且每个线程都需要一个本地实例,这没关系。该对象将产生一个值,该值保证跨线程始终相同(所有构造函数从主循环中获取相同的 const 形成参数)。每个线程还可以访问该参数的共享结构并保存一些结果。
线程所需的有问题的值(无符号整数形式的迭代范围)稍后在主循环中使用,所以如果我可以的话,我宁愿不创建上述对象的另一个昂贵的实例来获得相同的再值。
我的问题是,在带有 VC11 的 Windows 和带有 GCC 4.8.2 的 Linux 上,在 x86-64 上,正在将相同的值从多个线程写入相同的内存位置(线程具有指向的结构中的 int),这是一种良性竞争? 这是一场我可以让比赛发生而不用昂贵的锁来保护价值的比赛吗?从粗略的测试来看,情况似乎是这样,但我不完全确定该操作是否在幕后是原子的和安全的,或者是否有可能在压力下出现腐败。
c++ - C++ 正则表达式字符类
尝试在 C++ 中创建一个std::regex
带有[]
-enclose 字符类的对象,但出现错误:
这会导致以下错误:
我正在使用 gcc 版本 4.8.2。
根据参考,语法似乎是正确的,并且适用于其他正则表达式编译器(我尝试了 Python 的re和regex101.com)。如何在 C++ 中为范围字符类创建正则表达式对象?