0

当我使用时ndk,我无法在shared_libraries.

安卓.mk:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := test
LOCAL_SRC_FILES := test.cpp
include $(BUILD_SHARED_LIBRARY)

测试.cpp:

void fun() {}

ndk-build, nm /libs/armeabi/libtest.so 后,结果是没有符号,为什么?

4

1 回答 1

0

@auselen 是对的NDK_DEBUG=1,但也请记住,您必须使用正确的nm:如果您使用nm计算机中的默认值,这很可能是 x86 计算机,它将无法读取编译的库的符号对于 ARM 架构(大多数安卓手机)。

nm使用位于您的输出库的权利libs/armeabi/是: ${you_ndk_folder}/toolchains/arm-linux-androideabi-*/prebuilt/darwin-x86_64/bin

darwin-x86_64如果你在 Mac 上开发,在 Windows 或 Linux 上会有所不同,但你明白了..)

于 2013-06-19T14:36:04.533 回答