Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android NDK:找不到iostream文件_Android_Android Ndk_Tesseract_Tess Two - Fatal编程技术网

Android NDK:找不到iostream文件

Android NDK:找不到iostream文件,android,android-ndk,tesseract,tess-two,Android,Android Ndk,Tesseract,Tess Two,关于这个问题,我尝试了很多建议,但似乎没有一个能解决我的问题 这是我的命令: C:\Users\{name}\Desktop\MyApplication\libraries\tess-two-master\tess-two\jni> C:\Users\{name}\AppData\Local\Android\Sdk\android-ndk-r19\ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk 我无法编译com\u

关于这个问题,我尝试了很多建议,但似乎没有一个能解决我的问题

这是我的命令:

 C:\Users\{name}\Desktop\MyApplication\libraries\tess-two-master\tess-two\jni> C:\Users\{name}\AppData\Local\Android\Sdk\android-ndk-r19\ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk
我无法编译com\u googlecode\u tesseract\u android//src/api/baseapi.cpp 它给了我这个错误:

Android NDK: WARNING:com_googlecode_tesseract_android/Android.mk:tess: non-system libraries in linker flags: -latomic
Android NDK:     This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK:     or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK:     current module

com_googlecode_tesseract_android/./src/api/baseapi.cpp:45:10: fatal error
    'iostream' file not found
#include <iostream>
     ^~~~~~~~~~
1 error generated.
make: *** [obj/local/arm64-v8a/objs/tess/./src/api/baseapi.o] Error 1
这是我的Android.mk

     LOCAL_PATH := $(call my-dir)
     TESSERACT_PATH := $(LOCAL_PATH)/com_googlecode_tesseract_android/src
     LEPTONICA_PATH := $(LOCAL_PATH)/com_googlecode_leptonica_android/src
     LIBJPEG_PATH := $(LOCAL_PATH)/libjpeg
     LIBPNG_PATH := $(LOCAL_PATH)/libpng

     # Just build the Android.mk files in the subdirs
     include $(call all-subdir-makefiles)
baseapi.cpp中的所有4个标头都显示相同的错误-

#include <iostream>
#include <string>
#include <iterator>
#include <fstream>
#包括
#包括
#包括
#包括
如果有人能帮我找出问题所在,那就太好了。多谢各位


PS:我正在使用NDK r19。在这种情况下,您的
NDK构建
不会自动加载应用程序.mk文件。您必须明确指定它:

…ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mk
或者,您可以从tesstwo目录(jni上面的目录)运行
ndkbuild
。在这种情况下,
ndk build
将同时找到.mk文件,您不需要指定
ndk\u项目路径

…ndk-build

唯一的区别是输出(objlibs目录)将在附近创建,而不是在jni目录中创建。

可能与
平台/android-16
中没有
arch-arm64
目录重复。至少在我安装的NDK中没有。它只存在于android-21和更高版本的平台上。@Michael除了应用程序STL之外,我没有做任何改变。我直接从网站上下载了它。@Michael ndk build知道这一点,64位ABI的版本将增加到21位。您只需将
\ifdef\uu cplusplus\endif
包含在您面临此问题的所有头文件中即可<代码> >“CPLUS PLUS”/CODE >将被定义为正在通过C++编译器运行的任何编译单元。它工作得非常好。:)
…ndk-build