Я объясняю свою проблему:предупреждение: разделяемая библиотека текстовый сегмент не разделяется
Мой проект - приложение для Android с использованием C++ с NDK.
Мне нужно включить библиотеку ffmpeg в свой проект.
Я построил FFmpeg с этим Tuto: https://github.com/WritingMinds/ffmpeg-android (Я посмотрел на сценарий, похоже, что он построен для статической ссылки)
Мой cmakelist.txt не работает, ошибок нет. Но когда я запускаю свою программу, я получил это сообщение: (я сократить его или это слишком долго)
[1/1] Linking CXX shared library ../../../../build/intermediates/cmake/debug/obj/x86/libgestionnaire.so
/local/Android/Sdk/ndk-bundle/toolchains/x86-4.9/prebuilt/linux-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin/ld: warning: shared library text segment is not shareable
/local/Android/Sdk/ndk-bundle/toolchains/x86-4.9/prebuilt/linux-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin/ld: error: treating warnings
С наилучшими пожеланиями
Название не имеет смысла. Вы получаете предупреждение, что раздел разделяемой библиотеки не разделяется, что (в соответствии с параметрами компоновщика) рассматривается как ошибка. Когда google для предупреждения, первая ссылка дает [этот вопрос] (http://stackoverflow.com/questions/19986523/shared-library-text-segment-is-not-shareable). В его ответах предлагается использовать опцию компоновщика '-Wl, - no-warn-shared-textrel' для подавления таких предупреждений. – Tsyvarev
Привет, спасибо за ответ. Я не был уверен в названии (я настоящий начинающий). Поэтому в моем cmakelist я добавил следующее: set (CMAKE_CXX_FLAGS '" $ {CMAKE_CXX_FLAGS} -std = gnu ++ 11 -Wl --no-warn-shared-textrel ")' И теперь я получил сообщение об ошибке (хорошее part i guess): 'clang ++: ошибка: неподдерживаемая опция '--no-warn-shared-textrel'' –
Это ** линкер **, поэтому вы должны назначить переменную * CMAKE_EXE_LINKER_FLAGS *. Кроме того, ** запятая ** после '-Wl' является ** частью опции **, и после нее не должно быть места. – Tsyvarev