为Android构建Boost,错误"无法找到-lrt"

时间:2015-01-09 00:23:26

标签: android c++ boost build

所以我正在尝试为Android构建boost 1.55,但我得到了Boost.System和Boost.Atomic的链接错误,即"错误:找不到-lrt"。当然,android并没有librt,因为它内置于C运行时。所以,我正在努力获得提升,因此它不会链接到librt。我试着删除每个" -lrt"在源代码中:

find . -type f | xargs -n1 -P 8 sed -i "s/-lrt//g"

但我仍然得到同样的错误。如何使升级不链接librt for android?

1 个答案:

答案 0 :(得分:4)

事实上,所有-lrt与sed的发生似乎都不会对问题产生任何影响。
对我有用的东西(虽然在1.53.0增强中)如下:

  • 修改tools/build/v2/tools/gcc.jam
  • 此代码部分中的评论libs = rt ;(顺便说一句,可能是您没有-pthread选项行):

        case * :
        {
            option = -pthread ;
            libs = rt ;   <--Comment this line
        }
    

注意:作为初始/强力解决方案,我会接受失败的命令并手动运行它们从中删除-lrt