当我使用ndk
时,我无法在shared_libraries
中找到符号。
Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := test
LOCAL_SRC_FILES := test.cpp
include $(BUILD_SHARED_LIBRARY)
TEST.CPP:
void fun() {}
在ndk-build之后,nm /libs/armeabi/libtest.so,结果没有符号,为什么?
答案 0 :(得分:0)
@auselen关于NDK_DEBUG=1
是正确的,但请记住,您必须使用正确的nm
:如果您使用计算机中的默认nm
,则最有可能在x86计算机上,它将无法读取为ARM体系结构编译的库的符号(大多数Android手机)。
nm
中用于输出库的权限libs/armeabi/
是:
${you_ndk_folder}/toolchains/arm-linux-androideabi-*/prebuilt/darwin-x86_64/bin
(darwin-x86_64
如果你在Mac上开发,如果你使用的是Windows或Linux,那就不一样了,但是你明白了。)