android - 未定义对 Callstack 库的引用的问题
问题描述
我尝试将cpp
如下文件构建为 Android 平台上的可执行文件。因此,通过调用 dumping_callstack(),我可以在运行时获取可执行文件的调用堆栈。但是有一些错误。</p>
cpp 文件:mycallstack.cpp
#include <utils/CallStack.h> extern "C" void dumping_callstack() { CallStack stack("haha"); }
mycallstack.h
void dumping_callstack();
测试.c
#include <mycallstack.h> main() { dumping_callstack(); }
安卓.mk
LOCAL_SRC_FILES += mycallstack.cpp LOCAL_SHARED_LIBRARIES := libc libcutils liblog libutils
然后编译。
error: undefined reference to 'android::CallStack::CallStack(char const*,int)'
error: undefined reference to 'android::CallStack::~CallStack()'
解决方案
在 android 9.0 中,您应该使用libutilscallstack
. 查看“android/system/core/libutils/Android.bp”了解更多详情。
推荐阅读
- javascript - 试图强制特定的文本框重写
- html - 如果网站内容很少/没有内容,页脚将显示,不会保留在页面底部
- sql - 如果将查询结果插入到表中,如果我更新原始表,它会自动更新吗?
- html - Bootstrap 4 Table Responsive, Horizontal and Vertical Scroll
- python - No Residuals With Numpy's Least Squares
- terminal - 如何在linux终端中旋转标签?
- c# - Created Method is not working properly
- svg - SVG在层之间添加空白
- sql - 从使用 @OrderColumn 索引但现在被双链表替换的 Hibernate @OneToMany 列表迁移 SQL 数据
- python - 使用 Python 自动化网页交互