Зачем нам нужна опция -static для компиляции нативных приложений для Android - PullRequest
3 голосов
/ 10 мая 2011

Я пытался создать родное приложение для Android. Когда я попытался запустить его, я получил сообщение об ошибке, этот файл не существует. С немного Google, я обнаружил, что мне нужно включить опцию -static при компиляции. Я так и сделал, и это сработало. Но мне интересно, почему этот параметр необходим? Это как-то связано с кросс-компиляцией?

Спасибо

1 Ответ

1 голос
/ 12 мая 2011

Опция -static создает статически связанный двоичный файл без каких-либо зависимостей от разделяемых библиотек. Это делается, если система, в которой происходит связывание, использует разные библиотеки в качестве системы, в которой будет работать двоичный файл. В большинстве случаев это хак, чтобы избежать проблем с несовместимыми библиотеками. Недостаток статически связанного двоичного файла заключается в том, что он намного больше разделяемого связанного и использует гораздо больше памяти. Как правило, лучше создать правильную среду сборки, которая позволяет динамически связывать разделяемые библиотеки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...