我正在尝试构建一个基于我已经正确构建的Aosp树的Ubuntu Touch树。 它失败并出现此错误
CAPEWrapper.cpp:16:错误:对'__xlog_buf_printf'的未定义引用
这是文件包含的标题
#include "CAPEWrapper.h"
级联包括
#include <cutils/xlog.h>
反过来定义
#if defined(__cplusplus)
extern "C" {
#endif
int __xlog_buf_printf(int bufid, const struct xlog_record *rec, ...);
#if defined(__cplusplus)
}
#endif
我怀疑我的g ++没有设置__cplusplus宏。这种错误可能是一个现实的情况吗?如果这可能是问题,我是否需要使用“stdc = something”指定标准实现来解决它?
欢迎任何其他想法。
答案 0 :(得分:2)
确保您的项目正在链接libcutils
,并且它以正确的顺序链接它(即{/ 1}}出现在之后的链接器命令行中>任何依赖它的模块。)
答案 1 :(得分:0)
最后,我发现这些模块列在名为LOCAL_WHOLE_STATIC_LIBRARIES的宏中,在Android环境中将其内容传递给GCC链接器的--whole-archive标志。