[英]How to use android-ndk?
我使用从此处获取的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)
我该如何解决此错误消息?
致命错误:TooN / TooN.h:没有这样的文件或目录#include <TooN / TooN.h>
当将<>
与#include
,编译器将在您的include路径(可能还有其他预定义目录)中搜索文件。
要在Android.mk
构建模块时将目录添加到包含路径,请将其添加到LOCAL__INCLUDES
。 例如,如果TooN.h
的完整路径为/home/foobar/TooN/TooN.h
,则应执行以下操作:
LOCAL_C_INCLUDES += /home/foobar
我收到致命错误:iostream:没有这样的文件或目录。在usr / include或usr / local / include下没有名为iostream的文件夹。
iostream
类是STL的一部分,因此您需要指定要构建的STL实现。 可以使用Application.mk
的APP_STL
变量来完成此操作。 例如:
APP_STL := gnustl_shared
请参见本页面可用与NDK STL实现的列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.