问题标签 [gcc8]
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.
powerpc - 在 PowerPC (ppc64le) 架构上找不到版本“GLIBCXX_3.4.21”
我正在rhel7.6 ppc64le
尝试构建一个包。我的系统上安装了 devtoolset-8。但是,当我尝试对其进行测试时,它会出现以下错误:
/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found (required by /tmp/snappy7148417400130025252.tmp)
我尝试了strings /usr/lib64/libstdc++.so.6 | grep GLIB
给出以下输出的命令:
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_LDBL_3.4
GLIBCXX_LDBL_3.4.7
GLIBCXX_LDBL_3.4.10
GLIBC_2.17
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
我LD_LIBRARY_PATH
的设置为/opt/rh/devtoolset-8/root/lib
. 我也尝试将其更改为/opt/rh/devtoolset-8/root/usr/lib/gcc/ppc64le-redhat-linux/8
.
想要一些帮助。我在具有良好连接性的高端 VM 上运行它。
powerpc - gcc 选项 -mcmodel=medium 需要说明
在编译我们的一个依赖工具时,链接时出现了一个长列表重定位错误:
依赖工具正在编译gcc-8.x
,我们的工具正在编译gcc-4.x
。
这个问题特别出现在 IBMPowerPC
平台上,RHEL
编译良好。
建议我们-mcmodel=medium
在编译代码时使用。
在网上找不到太多帮助。使用此选项的任何特定目的?
c++ - gcc5 和 gcc8 关于函数返回值的区别
我有两个工具:gcc5 和 gcc8。以下是片段代码
如果我使用 gcc5 编译并运行,则 foo() 调用会返回。但是,如果我使用 gcc8 编译并运行,则 foo() 调用不会返回。
我理解,foo() 中没有返回值,但至少函数应该返回。我认为 gcc8 要严格得多。但是为什么电话没有返回。
c++ - 为什么 gcc8.3 似乎试图编译未使用的模板函数?
考虑(文件名是 hello.cpp)这段代码;这个想法是设计一个安全的数字类型转换而不会丢失或溢出。(我正在将一些代码从 MSVC 移植到 g++)。
当我通过键入使用 gcc 8.3 进行编译时,g++ -o hello hello.cpp
我得到了错误error: static assertion failed: undefined integral cast
。
这意味着 g++ 总是在编译未使用的模板代码。
请注意,MSVC 编译了这个(这很好,因为它允许我发现我没有考虑过的任何完整的演员特化)。
显然我错过了一些东西。但是什么?
c++ - 如何根据已排序索引的向量对 std::set 索引进行排序?
我有一个类MyClass
,它使用一些双精度值进行操作beta
,存储为类成员,在它的成员函数g
中。它对它们进行排序并将排列存储在类成员中std::vector<int> sorted_beta_ind
:
接下来我想在另一个成员函数中有几个有序的索引集f
,它将以与中相同的顺序存储索引sorted_beta_ind
。我正在尝试使用std::set
对象,因此,我需要一个比较器。我想出的最佳解决方案是 lambda 函数
但是在构建项目时我得到了
这种方法可以工作还是我应该尝试完全不同的东西?
gcc - 构建 gcc 8.3 [Makefile:955: all] 错误 2
我一直在尝试在新的 Ubuntu 20.04 机器上构建特定版本的 GCC (8.3.0)。但是,当我按照以下链接中的步骤操作时:https ://gcc.gnu.org/wiki/InstallingGCC我遇到了 Makefile 错误。
脚步:
配置输出:
最后,使用make -j 8
并筛选大量输出,我收到以下错误:
有任何想法吗?我还尝试使用 CC=gcc-7 和 CXX=g++-7 环境变量进行配置并收到相同的结果(它仍然使用 xgcc)。这似乎是交叉编译器 xgcc 的错误。
c++ - gcc8 由于不可复制的类型而引发编译错误
//这里定义了构造函数。
//这里定义了析构函数
使用 gcc8 编译时,出现以下编译错误。看起来像上面定义的析构函数给出了 gcc8 的编译错误。
如何解决这个问题?
gcc8 - GCC编译器源码中如何获取结构体字段数据类型并修改?
如果我有这样的结构:</p>
如何修改GCC编译器源代码,使其如下:</p>
我现在有这样一个需求,我需要修改gcc源码,让他在编译某种模式的结构时,把它的类型改成指定的类型。
谢谢!</p>
bash - 如何禁用 devtoolset-8?
我有一个执行命令的 bash 脚本
scl enable devtoolset-8 'echo -e "%__ld $(which ld)\n%__nm $(which nm)\n%__objcopy $(which objcopy)\n%__objdump $(which objdump)\n%__strip $(which strip)"'
完成组装后,我需要“关闭”gcc-8。
我怎样才能通过 bash 做到这一点?
gcc - 关于 GCC8 的堆栈冲突保护与堆栈检查冲突的问题
我有一些在 GCC7 下运行良好的代码。它启用 fstack-check 标志。现在,当我在不更改代码的情况下切换到 GCC8 时,遇到以下错误:
显然它希望我删除堆栈检查。但是我没有启用“堆栈冲突保护”标志,为什么它会起作用?GCC8 中是否默认启用此标志?