Я подозреваю, что ваша проблема не с компиляцией, а со ссылками.Линкеры часто пропускают данные, которые не используются, чтобы уменьшить размер двоичного файла.Чтобы проверить это, используйте команду strings
или ее эквивалент в файле .o
, сгенерированном из вашего файла C: если строка в нем, но не в .so
, ваша проблема заключается в связывании.
К сожалению, я не знаю, как обойти эту проблему с помощью команды (ов) компоновщика, потому что все мое программирование на Android C было выполнено с помощью отдельной цепочки инструментов и пользовательской системы сборки.
Самое простое решение - просто скопировать строку во время выполнения.