2012-03-11 8 views
1

を有する変性アンドロイドヒューズを構築することはできません、私は次のエラーを取得する:は、NDK-構築NDKビルドでコンパイルしながら

/* this is the output*/ 
[email protected]:~/NDKDemo$ ndk-build 
Compile thumb : fusexmp <= fusexmp.c 
Compile thumb : fuse <= cuse_lowlevel.c 
Compile thumb : fuse <= fuse.c 
Compile thumb : fuse <= fuse_kern_chan.c 
Compile thumb : fuse <= fuse_loop.c 
Compile thumb : fuse <= fuse_loop_mt.c 
Compile thumb : fuse <= fuse_lowlevel.c 
Compile thumb : fuse <= fuse_mt.c 
Compile thumb : fuse <= fuse_opt.c 
Compile thumb : fuse <= fuse_session.c 
Compile thumb : fuse <= fuse_signals.c 
Compile thumb : fuse <= helper.c 
Compile thumb : fuse <= mount.c 
Compile thumb : fuse <= mount_util.c 
jni/mount_util.c: In function 'add_mount_legacy': 
jni/mount_util.c:91: warning: assignment makes pointer from integer without a cast 
Compile thumb : fuse <= ulockmgr.c 
StaticLibrary : libfuse.a 
Executable  : fusexmp 
/home/alex/Downloads/android-ndk-r7/platforms/android-14/arch-arm/usr/lib/crtbegin_dynamic.o: In function `_start': 
(.text+0x14): undefined reference to `main' 
collect2: ld returned 1 exit status 
make: *** [obj/local/armeabi/fusexmp] Error 1 

次のように私は修正fusexmp.cを変更した:

#include "com_alex_NativeLib.h" 
............................ //fuse specific code which build succesfully 
............................. 
/* Callable native function signature from Java*/ 
JNIEXPORT jint JNICALL Java_com_marakana_NativeLib_hello_fuse 
    (JNIEnv * env, jobject obj) { 
char *v[2]; 
    v[0]=(char*)malloc(90); //argv[0] for fuse_main 
    v[1]=(char*)malloc(90); //argv[1] for fuse_main 
    strcpy(v[0],"hello"); 
    strcpy(v[1],"./helloxmp"); //path to mount point 

    umask(0); 
    return fuse_main(2, v, &xmp_oper, NULL); //the fuse main call 
} 
+0

@Samveenにinclude $(BUILD_SHARED_LIBRARY)include $(BUILD_EXECUTABLE)を変更することで、私はマウントすることができますディレクトリ内のファイルを作成するのに失敗しました。そして、それは読み取り専用のファイルシステムであるというエラーを表示します。同じエラーが発生したり、解決策がありますか? –

答えて

3

ndk-buildfusexmpを実行可能ファイルとしてビルドしようとしていますが、にはmain関数が定義されていないようです(実行ファイルを作成するためにコンパイラが必要とする)。実行可能ファイルのエントリポイントとして、main関数を作成、またはライブラリにfusexmpを変更、私はfusexmpを実行したとき、私はu.butと同様の仕事をするあなたのAndroid.mk

関連する問題