在CentOs中找不到libstdc++.a

在编写代码时,有时候会需要静态链接libstdc++.a库,但是存在只有libstdc++.so的动态库没有libstdc++.a静态库的情况。

首先运行命令,查看系统中是否存在libstdc++.a静态库。

find / -name libstdc++.a

如果不存在可以通过以下命令查找包含libstdc++.a文件的软件包名称

sudo dnf provides '*/libstdc++.a'

通过安装包括了libstdc++.a文件的软件包来获取libstdc++.a,这样就不需要通过源码编译来获取了。

sudo dnf install gcc-toolset-12-libstdc++-devel

安装后再次运行命令,查找libstdc++.a文件的位置。

find / -name libstdc++.a

最后将复制文件到/usr/lib64目录中,在静态链接是会自动查找。

cd /opt/rh/gcc-toolset-12/root/usr/lib/gcc/aarch64-redhat-linux/12
cp ./libstdc++.a /usr/lib64

猜你喜欢

转载自blog.csdn.net/weixin_43074760/article/details/131616272