问题标签 [gcc7]

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 投票
0 回答
225 浏览

c++17 - 使用 gcc 7 从源代码构建 Gktmm 3.91

操作系统:Ubuntu 16.04 LTS
编译器:Gcc7.2

我想将 Gtkmm3.9 添加为我的一个项目的第三方依赖项,并尝试从源代码编译。我不熟悉 autoconf 或 automake 工具集。

浏览文档https://developer.gnome.org/anjuta-build-tutorial/stable/create-autotools.html.en我发现您可以使用 autogen.sh 生成配置文件。但是该项目无法配置,因此也无法生成任何 make 文件。

我想使用 C++17,似乎在 Gtkmm 3.81 之后支持现代 C++ 作为现有 Gtk3 的并行构建。我找不到 Gtkmm3.81 的任何 ubuntu 预构建包。

  • Gtkmm3.9 存储库是否包含其存储库中的所有依赖项。
  • 可以与 C++17 一起使用吗(我使用 gcc7.2 编译器)我无法使用 C++17 编译带有旧 Gtkmm3 的任何程序,因为标头中有一些已删除的函数。

我打算将该库与 C++17 一起使用。对自己构建库更感兴趣。任何构建说明也会非常有帮助。

谢谢强尼

0 投票
1 回答
1791 浏览

gcc - 在制作和安装 gcc 时遇到问题

我在安装 gcc 时遇到问题。鉴于以下信息,我做错了什么?

$HOME/gcc我没有 root 访问权限的 Linux 计算机上,我运行以下命令:

这里只显示了几行输出:

尝试制作:

-j8使用 8 cpu 的标志,
这里只显示了几行输出:

尝试安装:

错误:

系统信息:

0 投票
1 回答
1249 浏览

c++ - C++ 函数错误 - 无法将大括号括起来的初始化列表转换为 char*

C++ 新手,更熟悉 MATLAB 和 Arduino。我正在尝试创建(阅读:修改其他人的代码)一个 C++ 函数以通过串行发送字符数组——它正在与 C 库(rs232.h)交互。在函数初始化中初始化 mode--bits/baud/parity 数组的默认值时,我不断收到此错误。不确定我是否正在尝试做一些不受支持的事情,如果是这样,我可以拆分变量。提前感谢您的帮助。

IDE:代码::块

编译器:MinGW-g++/GCC 7.3

错误:

代码:

0 投票
1 回答
501 浏览

c++ - 升级到 MacPorts gcc 7.3 后 is_lock_free() 返回 false

以前,使用 Apple LLVM 9.1.0,128is_lock_free()位结构已返回 true。为了获得完整的std::optional支持,我随后升级到了 MacPorts gcc 7.3。在我第一次尝试编译时,我遇到了这个臭名昭著的 showstopper 链接器错误:

我知道我可能需要添加-latomic. 使用 Apple LLVM 9.1.0,我不需要它,对此我有一种非常糟糕的感觉。如果它是无锁的,您通常不需要链接到任何额外的库,仅编译器就能够处理它。否则,它可能只是基于锁的,需要其他库的支持。就像我担心的那样,添加后-latomic,构建成功,但is_lock_free()返回错误。

我确实认为 gcc 7.3 及其标准库实现很好。这可能只是我这边的一些配置问题。事实上,我没有做任何配置。我只是安装了 MacPorts gcc 并完成了。知道我可能缺少什么吗?

0 投票
1 回答
6758 浏览

c++ - 在 ubuntu 18.04 上与 gcc/g++ 7.3.0 链接错误

我有一个项目,我使用 -lcblas 标志链接到 BLAS 库。它曾经编译得很好,直到将我的系统升级到 Ubuntu 18.04 和 GCC 7.3.0 之后。无论如何,编译命令是

这会产生错误

这个问题可能是重复的,但我无法将解决方案翻译为与我的问题类似的其他问题。

0 投票
1 回答
4876 浏览

c++17 - clang 6.0.0 版:clang++“命名空间‘std’中没有名为‘make_optional’的成员”

到目前为止,我一直在使用 gcc 在 Ubuntu 16.04 服务器版中编译我的 C++ 代码。但是由于 C++17 的最新特性(主要是并发和并行)没有被最新的 gcc 转换,而在 clang 中很多是,我已经开始使用 clang。令我惊讶的是,对于以前 gcc 调试过的 C++ 文件之一,在使用 gcc 编译时:gcc 版本 7.3.0(Ubuntu 7.3.0-21ubuntu1~16.04),如果编译 clang:clang 版本 6.0.0( tags/RELEASE_600/final),编译显示错误:命名空间“std”中没有名为“make_optional”的成员:

` 但是:在 FunctionalApproach.h 中:

知道为什么clang说“命名空间'std'中没有名为'make_optional'的成员”吗?

0 投票
1 回答
171 浏览

g++ - 让 GCC 预处理器将尖括号视为引号

我正在尝试使用系统标头,这些标头在应该使用引号的地方使用尖括号。具体来说,我在 /usr/include/hdf5/serial/ 中有一个系统提供的头文件,其中包含

我当然可以通过 G++ 选项-isystem /usr/include/hdf5/serial,但我宁愿保持模块化,而不是将这段配置复制到任何最终可能使用此标头的项目中。

我在 Ubuntu 18.04 和 CentOS 7.x 上使用 G++ 7.3 和 DevToolset 7。

0 投票
0 回答
396 浏览

c++ - 无法使用 -fvtable-verify 构建 C++ 二进制文件

我正在尝试在我的项目中启用 vtable 验证。当我尝试使用标志 (-fvtable-verify=std) 时出现错误g++: error: -fvtable-verify=std is not supported in this configuration

你能帮我弄清楚出了什么问题吗?

0 投票
1 回答
440 浏览

c++ - 使用“--enable-vtable-verify”构建 Devtoolset 7 gcc

我的机器上安装了 devtoolset7 软件包

我正在尝试构建一个二进制文件-fvtable-verify=std

不幸的是,devtoolset 7 提供的 gcc 不是用--enable-vtable-verify

如何使用--enable-vtable-verify与 devtoolset 7 类似的配置重建 devtoolset 7 gcc。

0 投票
2 回答
47 浏览

c++11 - 如何在不升级到 8.x 的情况下解决 GCC 中的这个参数扩展错误?

考虑以下代码:

这是有效的 C++14(实际上,如果您编写自己的 C++11 也是有效的std::index_sequence)。但是 - 它不能用 g++ 6.x 和 7.x 编译;只有 g++ 8.x 可以正确编译它(参见GodBolt 上发生的这种情况)。

出于组织原因,我可以要求使用最高 7.2 的 g++ 版本。有没有办法在保持语义的同时改变代码,让 g++ 7.x 编译它?