尝试将旧版应用程序从NDK 16移植到NDK 19时遇到很多麻烦。问题是此应用程序是在ACE C ++库的顶部构建的,该库使用静态库导入作为静态库链接在CMakeLists.txt文件上。
以与https://github.com/googlesamples/android-ndk/blob/master/hello-libs/app/src/main/cpp/CMakeLists.txt示例相同的方式配置CMakeLists文件:
add_library(lib_ace STATIC IMPORTED)
set_target_properties(lib_ace PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/libACE.a)
然后是蚂蚁
target_link_libraries(myProjectLib
android
lib_ace
... many other libs ...
log)
http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#android
我创建了独立的工具链,并按照给定链接上ACE网站上的说明正确构建了ACE库。
但是当我尝试将ACE静态库链接到我在Android Studio上的项目jni C ++动态库时,ninja-build抱怨:“不支持的动态重定位r_arm_rel32”
如果有人知道同时使用ACE和Android的任何当前开源项目或示例,请提供链接! 感谢您的帮助!