어떤 사람이 도와주세요.여러 C++ 파일을 사용하여 ndk를 빌드하는 방법
나는 간단한 응용 프로그램에서 작업하고 있습니다. ndk를 사용하여 android에서 factorial을합니다.
두 개의 .cpp 파일을 갖고 싶습니다. 하나는 계계 클래스이며 다른 하나는 그 클래스의 메서드를 호출하는 주 도구입니다. 빌드 할 때 헤더 문제를 처리하는 방법을 모르겠습니다. 제발 도와주세요.
#include "com_lan_factorial_FacLib.h"
JNIEXPORT jlong JNICALL Java_com_lan_factorial_FacLib_fac
(JNIEnv *env, jclass clazz, jlong n)
{
jlong result = (jLong) (fac(n));
return result;
}
이 코드는 fac 메소드를 호출합니다. 이것은 Main.cpp입니다.
#include <stdio>
#include "com_lan_factorial_FacLib.h"
long fac(long n)
{
long f = 1;
long i;
for(i = 1; i <= n; i++)
{
f *= i;
}
return f;
}
}
이 클래스는 fac 메소드를 만듭니다. 확인
C:\Users\Lan\workspace\Factorial>..\..\temp\android\android-ndk-r8b\ndk-build
"Compile++ thumb : FacLib <= Main.cpp
jni/Main.cpp: In function 'jlong Java_com_lan_factorial_FacLib_fac(JNIEnv*, jclass, jlong)':
jni/Main.cpp:7:30: error: 'fac' was not declared in this scope
make: *** [obj/local/armeabi/objs/FacLib/Main.o] Error 1
임 아닌 두 번째 파일은 정말 com_lan_factorial_fac.cpp.callMain
라고 FAC가
조금만 고쳤습니다. 이제는 단 하나의 오류가 있습니다. 다시 게시 할 수 있습니다. 좀 봐 주셔서 감사합니다 –
나는 그것이 내 Android.mk와 관련이 있다고 생각합니다. @ Local_C_Inlcudes 라인, 내가 이것을 원할 지 모르겠다. 내가해야 할 일을한다면? –