Подтвердить что ты не робот

Building Boost для Android с ошибкой "не удается найти -lrt"

Итак, я пытаюсь создать boost 1.55 для android, но я получаю ошибки связывания для Boost.System и Boost.Atomic, которые говорят "ошибка: не могу найти -lrt". Конечно, у андроида нет librt, потому что он встроен в среду выполнения C. Итак, я пытаюсь получить повышение, чтобы оно не связывалось с librt. Я попытался просто удалить каждый "-lrt" в исходном коде:

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

Но я все равно получаю ту же ошибку. Как сделать boost не ссылкой на librt для Android?

4b9b3361

Ответ 1

В действительности все вхождения -lrt с sed не оказывают никакого влияния на проблему.
То, что сработало для меня (в boost 1.53.0), выглядит следующим образом:

  • Изменить tools/build/v2/tools/gcc.jam
  • Комментарий libs = rt ; в этом разделе кода (Кстати, может быть, что у вас нет опции -pthread):

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

Примечание. В качестве решения начальной/грубой силы я взял неудачные команды и вручную запустил их, удалив из них -lrt.