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?
Ответы
Ответ 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
.