Портирование программы C / C ++ на Android - PullRequest
3 голосов
/ 07 июля 2010

Я пытаюсь поместить свою программу на C ++ на телефон Android, но столкнулся с несколькими проблемами со связыванием библиотеки. Кажется, что большинство полезной информации, которую я нахожу по этой теме через Google, устарело ( motz ) или просто не учитывает сложности моей программы. Я смог запустить простые программы на Си, но потерпел неудачу при попытке использовать библиотеки за пределами Android Bionic / libc.

Итак, мои вопросы:

  • Можно ли перенести уже существующие библиотеки * .so на Android? Если так, как я могу сделать это без ошибок сегмента?
  • Должен ли я использовать компилятор CodeSourcery (arm-none-linux-gnueabi - *)?
  • Как обойтись без отдельной библиотеки pthread?

Пожалуйста, помогите мне! Спасибо.

-Скотт

Ответы [ 2 ]

2 голосов
/ 08 июля 2010

Вы не можете использовать уже существующие * .so файлы, потому что они должны быть скомпилированы для Android. Чтобы создать * .so для Android, вам нужно использовать их NDK, который уже настроен на создание правильного формата, поэтому вам не нужно беспокоиться о arm-none-linux-gnueabi или о чем-либо еще. Если вы хотите использовать библиотеку, которой нет в Android, вам нужно создать ее самостоятельно, используя NDK. Я должен был сделать это с STL.

1 голос
/ 14 июля 2011

Пожалуйста, обратитесь к следующему:

Могу ли я использовать собственные библиотеки (установленные в стеке Android) в моем приложении NDK?

Это должно ответить на некоторые вопросы ...

...