使用不同的gcc版本构建增强功能

时间:2011-03-17 23:19:40

标签: gcc boost build

我可以访问我需要构建boost 1.46的服务器。如何强制bootstrap.sh使用/usr/bin/gcc-4.4。默认情况下,它使用/ usr / bin / gcc,我无法弄清楚如何更改此

4 个答案:

答案 0 :(得分:37)

我使用类似这样的东西交叉构建了ARM工具链的Boost:

echo "using gcc : arm-unknown-linux-gnueabi : /usr/local/arm/bin/g++ ; " >> tools/build/v2/user-config.jam

你应该可以这样做:

提升版本1.59及更高版本:

echo "using gcc : 4.4 : /usr/bin/g++-4.4 ; " >> tools/build/src/user-config.jam

提升版本1.58及以下版本:

echo "using gcc : 4.4 : /usr/bin/g++-4.4 ; " >> tools/build/v2/user-config.jam

然后使用

进行构建
bjam --toolset=gcc-4.4

答案 1 :(得分:1)

Boost 1.59的更新

现在你需要这样做:

echo "using gcc : : /usr/bin/g++44 ; " >> tools/build/src/user-config.jam

答案 2 :(得分:0)

对于那些喜欢在OSX 10.11.6上了解Boost 1.61的答案的人:由于answer中提及的ld: unknown option: -h错误,Sean的this boost report对我不起作用}。为了使其有效,我在其命令

中将gcc替换为darwin
echo "using darwin : 6.2 : /usr/local/bin/g++-6 ; " >> tools/build/src/user-config.jam

要编译并安装它,我使用

./b2 --toolset=darwin-6.2 --prefix=$HOME/.local/ install

答案 3 :(得分:0)

使用最新版本的Boost 1.71,其工作方式如下:

>export CC=<path to custom gcc>/gcc
>export CXX=<path to custom gcc>/g++
>./bootstrap.sh
>./b2 --toolset=gcc stage threading=multi link=shared

您可以使用以下命令检查用于构建的gcc版本

>ldd b2
    linux-vdso.so.1 =>  (0x00007ffcaa5f4000)
    libstdc++.so.6 => <path to custom gcc>/lib64/libstdc++.so.6 (0x00002b85ab701000)
    libm.so.6 => /lib64/libm.so.6 (0x00002b85abaaa000)
    libgcc_s.so.1 => <path to custom gcc>/lib64/libgcc_s.so.1 (0x00002b85abdac000)
    libc.so.6 => /lib64/libc.so.6 (0x00002b85abfc3000)
    /lib64/ld-linux-x86-64.so.2 (0x00002b85ab4dd000)

或在bin.v2 / project-cache.jam文件中