【问题标题】:Why does b2 build with gcc4.6 when 4.8 is default?为什么在默认 4.8 时 b2 使用 gcc4.6 构建?
【发布时间】:2014-04-11 15:08:59
【问题描述】:

在构建自定义 Boost.Python 项目时,我遇到了由于缺乏对 gcc-4.6 的 c++11 支持(在 VS2012 下编译良好的包装代码)导致的构建错误。所以我升级到 4.8 并使用$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 将 gcc 的执行重定向到较新的版本:

$ gcc --version
gcc (Ubuntu 4.8.1-2ubuntu1~12.04) 4.8.1

到目前为止,一切都很好。但是由于错误消息没有改变,在进一步检查中我注意到了一些事情:

link.jam: No such file or directory
...patience...
...patience...
...found 1710 targets...
...updating 2 targets...
gcc.compile.c++ bin/gcc-4.6/debug/extending.o  //WHAT?

看起来 b2 仍然使用gcc-4.6。是的,它仍然安装,但我不是只是用gcc-4.8 替换它吗?我很困惑……

另外,我可以手动指定收费站版本吗?我试过toolset=gcc4.8 但这只是以gcc4.8.jam 不存在的错误结束...

【问题讨论】:

  • 你也更新了替代品 g++ 吗?
  • 哦该死。看起来这可能是问题

标签: c++ ubuntu gcc c++11


【解决方案1】:

原来我忘了

$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50

这有点愚蠢,但希望将来能对某人有所帮助。向@nos 致敬!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    • 2019-09-28
    相关资源
    最近更新 更多