gpt4 book ai didi

android - 如何使用android-ndk?

转载 作者:行者123 更新时间:2023-12-02 11:02:44 24 4
gpt4 key购买 nike

我使用取自 here 的 PTAM 代码.我尝试使用此代码制作一个 android 应用程序。

PTAM 代码使用 libcvd、TooN、gvars3 库。我使用 ndk-build 从我的 c++ 测试文件生成一个 .so 文件.

首先,我尝试在 android 手机上运行以下代码:

#include <string.h>
#include <jni.h>

extern "C" {

int returnInt()
{

int returnVal = 4;
return returnVal;
}
}

它可以生成 .so 文件而不会出现任何错误。如果我添加 #include < TooN/TooN.h > , `ndk-build 说
fatal error: TooN/TooN.h: No such file or directory
#include <TooN/TooN.h>
^
compilation terminated.

Android.mk 是:
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := test-jni
LOCAL_SRC_FILES := test-jni.cpp

include $(BUILD_SHARED_LIBRARY)

如何解决此错误消息?

最佳答案

fatal error: TooN/TooN.h: No such file or directory #include <TooN/TooN.h>



当您使用 <>#include ,编译器将在您的包含路径(可能还有其他预定义目录)中搜索该文件。

Android.mk 中构建模块时将目录添加到包含路径您可以将其添加到 LOCAL__INCLUDES .例如,如果 TooN.h 的完整路径是 /home/foobar/TooN/TooN.h你应该做这个:
LOCAL_C_INCLUDES += /home/foobar

I get fatal error: iostream: No such file or directory.There is no folder named iostream under usr/include or usr/local/include.


iostream class 是 STL 的一部分,因此您需要指定要构建的 STL 实现。这可以使用 APP_STL 来完成。 Application.mk 中的变量.例如:
APP_STL := gnustl_shared

this page获取 NDK 可用的 STL 实现列表。

关于android - 如何使用android-ndk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32330172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com