Поэтому я добавил следующие строки:
Код: Выделить всё
set(TARGET myapp)
# following 4 lines added to add RPATH of ./ to the binary
# so it searches the .so in the same directory
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
SET(CMAKE_SKIP_RPATH FALSE)
set(CMAKE_INSTALL_RPATH $ORIGIN)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH ON)
# add source code to target
add_executable(${TARGET} src.cpp)
...
Я также попробовал set_target_properties(${TARGET} PROPERTIES INSTALL_RPATH $ORIGIN), но все же не работает.
Я что-то пропустил здесь для конфигурации RPATH?
обновление
просто отметить, что если я создаю приложение для хоста (Linux) (используя тот же файл cmake, за исключением использования цепочки инструментов Android ndk), тогда все в порядке, я вижу $ORIGIN в двоичном RPATH с помощью readelf.
хотя я не знаю, что было сделано в цепочке инструментов Android ndk
Подробнее здесь: https://stackoverflow.com/questions/751 ... ross-build
Мобильная версия