致命错误:utils / UniquePtr.h:没有此类文件或目录错误

时间:2013-10-04 16:46:53

标签: android build

我正在尝试在64位Ubuntu 10.04.4桌面上为Nexus 7 wifi(full_grouper-userdebug)构建android-4.3_r1.1(JWR66Y)android。我在make -j4步骤中收到错误消息,看起来像是

vendor/nvidia/grouper/keymaster/keymaster_grouper.cpp:39:29: fatal error: utils/UniquePtr.h: No such file or directory

我确实下载了专有二进制文件,如here所述。为什么会发生这种错误?

4 个答案:

答案 0 :(得分:2)

似乎 UniquePtr.h 已移至libnativehelper / include / nativehelper /文件夹。要让编译器找到它,您需要编辑两个文件:

首先编辑makefile vendor/nvidia/grouper/keymaster/Android.mk并插入libnativehelper/include行,如下所示:

LOCAL_C_INCLUDES := \
    libcore/include \
    libnativehelper/include \
    external/openssl/include \
    $(LOCAL_PATH)/../security/tf_sdk/include

然后修改vendor/nvidia/grouper/keymaster/keymaster_grouper.cpp,转到第39行并更改包含内容,如下所示:

//#include <utils/UniquePtr.h>
#include <nativehelper/UniquePtr.h>

然后运行你的make -j4或你使用的任何数字,它应该编译得很好。它确实适合我。

答案 1 :(得分:0)

我找到了一个修复程序(不确定它是否“安全”,但设备启动并运行得很好):

我搜索了UniquePtr.h并在另一个文件夹中找到并将其复制过来。那么去AOSP调用WORKING_DIRECTORY做什么

cp libnativehelper/include/nativehelper/UniquePtr.h out/target/product/grouper/obj/SHARED_LIBRARIES/keystore.grouper_intermediates/utils/

然后

make -j4

试。

答案 2 :(得分:0)

由于您的out /目录可能已清除,因此将include目录添加到vendor / nvidia / grouper / keymaster / Android.mk的LOCAL_C_INCLUDES变量会更安全

另一件事是我的4.3_r2.1 AOSP源代码中的libnativehelper / include / nativehelper /中没有UniquePtr.h,而是libcore / include

答案 3 :(得分:0)

我遇到了这个问题,为4.4(KRT16S)建造石斑鱼。有一个lib / core / utils / UniquePtr.h可以工作。 libnativehelper中的那个现在选择了一个c ++算法文件。

使用lib / core中的那个,检查keymaster_grouper.cpp中的包含路径是否正确

很难相信这个曾经编译过。

相关问题