首页 > 系统管理 > LFS > LFS7.6 005 检查工具链条 + Libstdc++-4.9.1
2015
03-02

LFS7.6 005 检查工具链条 + Libstdc++-4.9.1

LFS7.6 005 检查工具链条 + Libstdc++-4.9.1

一、检查工具链:

运行下面的代码:

echo 'main(){}' > dummy.c
$LFS_TGT-gcc dummy.c
readelf -l a.out | grep ': /tools'

如果在检查过程中没有错,并且出文字的最后一行大概如下:

[Requesting program interpreter: /tools/lib/ld-linux.so.2]

那么证明前面的工作是正确的,这时我们进行扫尾,即清空测试文件:

rm -v dummy.c a.out

二、Libstdc++-4.9.1:

1.Libstdc++-4.9.1是GCC-4.9.1的文件的一部分,所以解压gcc-4.9.1.tar.bz2,并切换到相应的目录:

tar xvf gcc-4.9.1.tar.bz2
cd gcc-4.9.1

2.建立并切换到编译目录:

mkdir -pv ../gcc-build
cd ../gcc-build

3.做好编译参数的设置:

../gcc-4.9.1/libstdc++-v3/configure \
--host=$LFS_TGT \
--prefix=/tools \
--disable-multilib \
--disable-shared \
--disable-nls \
--disable-libstdcxx-threads \
--disable-libstdcxx-pch \
--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/4.9.1

参数详解:

--host=...
表明去使用我们自己建立的交叉编译器,而不是在/usr/bin目录下的那一个。
--disable-libstdcxx-threads
由于我们没有建立C库线程,所以C++库线程也不能被建立。
--disable-libstdcxx-pch
这个开关防止预编译include文件的安装, 这个阶段来安装它是不需要的。
--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/4.9.1
这是c++编译器去搜索标准include文件的位置目录。在一个正常的构建过程中,这个信息自动传递给顶层目录的Libstdc++配置选项。在我们的例子中,这些信息必须被明确。

4.开始编译:

make -j4

5.开始安装:

make install

6.扫尾工作:

cd ..
rm -rf gcc-build
rm -rf gcc-4.9.1

下一步:LFS7.6 006 Binutils-2.24 – Pass 2 + GCC-4.9.1 – Pass 2




最后编辑:
作者:PurStar
PurStar
这个作者貌似有点懒,什么都没有留下。
捐 赠您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击

留下一个回复