我创建了一个cmake txt文件,我添加目标链接库进行链接。 Cmake看起来像这样..
file(GLOB libs ${ANDROID_LIBS}/*.so)
file(GLOB libs_user ${ANDROID_LIBS}/*.a)
add_library(${LIBRARY_NAME} SHARED ${SOURCE} ${SOURCE_JAVA} ${HEADERS} )
target_link_libraries(${LIBRARY_NAME} ${libs} ${libs_user})
我有Android libs文件夹,我有所有.so和.a文件。 Cmake成功构建并创建了.so文件。但是当我测试时我有一个错误A / libc(18333):致命信号11(SIGSEGV)在0x01010000(代码= 1)
然后我将Cmakelist代码更改为
file(GLOB libs ${ANDROID_LIBS}/libopencv_java.so ${ANDROID_LIBS}/libcaffe.so)
file(GLOB libs_user ${ANDROID_LIBS}/*.a)
add_library(${LIBRARY_NAME} SHARED ${SOURCE} ${SOURCE_JAVA} ${HEADERS} )
target_link_libraries(${LIBRARY_NAME} ${libs} ${libs_user})
这成功了。
我的问题是什么错误链接目标库无法链接(*。so)。当我硬编码.so文件时,它变得可运行。请证明......
答案 0 :(得分:0)
符号冲突? how to link with two shared libraries with many conflicting functions
我不确定这是否与Android相关的东西有关...