当我尝试NDK构建命令时,这是我得到的错误
D:\AndroidWorkSpace\cppTestProj>D:\android-ndk-r8b-windows\android-ndk-r8b\ndk-b
uild.cmd
Android NDK: WARNING: Unsupported source file extensions in jni/Android.mk for m
odule cppTestProj
Android NDK: LOCAL_SRC_FILES :=
"Compile++ thumb : cppTestProj <= maintestapp.cpp
jni/maintestapp.cpp:1:19: fatal error: iostream: No such file or directory
compilation terminated.
make: *** [obj/local/armeabi/objs/cppTestProj/maintestapp.o] Error 1
Run Code Online (Sandbox Code Playgroud)
JNI文件夹包含以下文件:
maintestapp.cpp
Test_array_type.cpp
Test_array_type.h
Run Code Online (Sandbox Code Playgroud)
请你告诉我这个问题.我没有使用Cygwin.我错过了任何文件吗?
这是make文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cppTestProj
LOCAL_SRC_FILES := LOCAL_SRC_FILES := maintestapp.cpp \
Test_array_type.cpp
include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)
这是cpp文件
#include<iostream>
#include"Test_array_type.h"
#include<stdio.h>
#include<conio.h>
using namespace std;
int main()
{
Test_array_type test_array;
Test_array_type *ptest_array1;
test_array.AddToList(10);
test_array.AddToList(20);
test_array.AddToList("Basha");
test_array.PrintList();
ptest_array1 = test_array.clonelist();
test_array.DeleteFromList(3);
test_array.AddToList(10);
test_array.AddToList(20);
test_array.AddToList(30);
test_array.AddToList(40);
test_array.AddToList(true);
test_array.AddToList("Java Beon APP");
test_array.PrintList();
ptest_array1->PrintList();
getch();
return true;
}
Run Code Online (Sandbox Code Playgroud)
你不应该从你的项目jni文件夹中运行'ndk-build'命令.在项目的根目录中执行Android.mk文件运行ndk-bild命令.
你Android.mk应该看起来像这样
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cppTestProj
LOCAL_SRC_FILES := maintestapp.cpp \
Test_array_type.cpp
include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)
然后运行您的ndk-build命令
您可以在Android.mk示例文件中看到此链接
更新:
static {
System.loadLibrary("hello-jni");
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅HelloJni.java示例项目的文件.
谢谢
| 归档时间: |
|
| 查看次数: |
8686 次 |
| 最近记录: |