有人在Android上启用了代码覆盖率NDK吗?
通过将cmake与此链接code coverage for native code using Android NDK中的注释一起使用
我最终得到了相同的错误:set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --coverage -fprofile-arcs -ftest-coverage") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-arcs -ftest-coverage") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage -fprofile-arcs -ftest-coverage")
所以我创建了一个新的线程来询问这个问题。
发布于 2018-07-10 07:03:34
来自另一个线程的“相同的错误”:
目标3/3链接CXX共享库../../../../build/intermediates/cmake/project/debug/obj/armeabi/libscanhwl_camif.so失败::&& /home/user/tools/android-ndk-r14b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --
=armv5te-none-linux-androideabi --gcc-toolchain=/home/user/tools/android-ndk-r14b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 --sysroot=/home/user/tools/android-ndk-r14b/sysroot堆栈保护器/home/user/tools/android-ndk-r14b/sysroot/usr/include/arm-linux-androideabi -fPIC - -DANDROID -ffunction-sections -funwind- -D__ANDROID_API__=19 -fstack- -g --DANDROID -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft--fPIC-fno--DANDROID-as-mtune=xscale -Wa,--noexecstack -Wformat -Werror=format-security -D__STDC_FORMAT_MACROS -fexceptions -frtti --coverage -fprofile-arcs -ftest- -O0 -fno--Wl-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a --sysroot -Wformat -Wl,-Wl-id -Wl,--warn-shared-textrel,--fatal-warnings -Wl,--no-未定义-Wl,-z,noexecstack -Qunused-参数-Wl,-z,relro -Wl,-z,现在是-shared -Wl,-soname,libscanhwl_camif.so -o -latomic -lm "/home/user/tools/android-ndk-r14b/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/libgnustl_static.a“&&:out/stage2/soong/ndk/sysroot/usr/include/string.h:348:错误:未定义对'__strncpy_chk2‘的引用clang++:错误:链接器命令失败,退出代码为%1(使用-v查看调用)libscanhwl_camif.so: build stopped:子命令失败。
第一步是使用较新的NDK (不确定您使用的是哪一个,另一个人使用的是旧的r14b )。看起来coverage运行时库是基于比您使用的更新的Android版本构建的,因此它不能在NDK中有效地使用。如果你在r17b中有同样的问题,这是一个NDK bug。
请注意,覆盖范围目前并不是我们真正支持的,但它在我的待办事项列表中:https://github.com/android-ndk/ndk/issues/612。
https://stackoverflow.com/questions/50553286
复制相似问题