是否可以在CentOS 7上使用gcc> = 8编译32位目标?

问题描述 投票:0回答:1

我有一个应用程序需要在我的64位CentOS 7上编译为32位。我使用-m32标志。我还需要来自c ++ 17的功能,所以我想安装gcc 8.x.我发现devtoolset 8带有gcc 8.2.1,这对我有好处。

应用程序编译好,但问题是链接 - 它找不到一些32位库:

[100%] Linking CXX executable cherrySim_runner /opt/rh/devtoolset-8/root/usr/libexec/gcc/x86_64-redhat-linux/8/ld: cannot find /usr/lib/libstdc++.so.6 /opt/rh/devtoolset-8/root/usr/libexec/gcc/x86_64-redhat-linux/8/ld: skipping incompatible /opt/rh/devtoolset-8/root/usr/lib/gcc/x86_64-redhat-linux/8/libstdc++_nonshared.a when searching for -lstdc++_nonshared /opt/rh/devtoolset-8/root/usr/libexec/gcc/x86_64-redhat-linux/8/ld: cannot find -lstdc++_nonshared /opt/rh/devtoolset-8/root/usr/libexec/gcc/x86_64-redhat-linux/8/ld: cannot find /lib/libgcc_s.so.1

我发现devtoolset准备了一些32位库,但这些链接指向不存在的路径,例如:/opt/rh/devtoolset-8/root/usr/lib/gcc/x86_64-redhat-linux/8/32/libstdc++_nonshared.a -> ../../../i686-redhat-linux/8/libstdc++_nonshared.a。根本没有/ opt / rh / devtoolset-8 / root / usr / lib / gcc / i686-redhat-linux目录。我尝试了一些东西,但似乎没有任何工作。

我开始想知道我想做什么是可能的。

米哈尔

gcc centos 32-bit
1个回答
0
投票

不幸的是,我发现在CentOS上没有包含gcc std库的32位版gcc> 8的软件包。

我需要这个用于我的码头图像,但由于无法做到这一点,我切换到ubuntu i386 16.04,它可以非常方便地安装gcc 8.2。

© www.soinside.com 2019 - 2024. All rights reserved.