私はC++言語に基づくVPNClinuxのオープンソースを持っています。ダウンロードリンクは次のとおりです:http://www.unix-ag.uni-kl.de/~massar/vpnc/(私はvpnc-0.5.3.tar.gzを使用します)。
そのため、Windowsでandroid ndkとcygwinを使用して、すべてのソースコードを.soライブラリにビルドしたいと思います。
まず、cygwinでソースコードをコンパイルすると、「grcypt.h no such file or directory」というエラーが発生し、gcrypt.hファイルをAndroidプロジェクトのjniフォルダーに貼り付けて解決しました。しかし、私は以下の問題を入力します:
$ /cygdrive/C/Working/Ke/Android/android-ndk-r8b/ndk-build
SharedLibrary : libvpnc.so
./obj/local/armeabi/objs/vpnc/vpnc.o: In function `lifetime_ike_process':
C:\Working\Ke\Projects\Eclipse\AndroidVpnc/jni/vpnc.c:1171: undefined reference to `opt_debug'
./obj/local/armeabi/objs/vpnc/vpnc.o: In function `lifetime_ipsec_process':
C:\Working\Ke\Projects\Eclipse\AndroidVpnc/jni/vpnc.c:1189: undefined reference to `opt_debug'
./obj/local/armeabi/objs/vpnc/vpnc.o: In function `make_socket':
C:\Working\Ke\Projects\Eclipse\AndroidVpnc/jni/vpnc.c:242: undefined reference to `error'
C:\Working\Ke\Projects\Eclipse\AndroidVpnc/jni/vpnc.c:219: undefined reference to `error'
C:\Working\Ke\Projects\Eclipse\AndroidVpnc/jni/vpnc.c:231: undefined reference to `error'
C:\Working\Ke\Projects\Eclipse\AndroidVpnc/jni/vpnc.c:238: undefined reference to `error'
./obj/local/armeabi/objs/vpnc/vpnc.o: In function `isakmp_crypt':
C:\Working\Ke\Projects\Eclipse\AndroidVpnc/jni/vpnc.c:531: undefined reference to `xallocc'
C:\Working\Ke\Projects\Eclipse\AndroidVpnc/jni/vpnc.c:532: undefined reference to `gcry_cipher_open'
C:\Working\Ke\Projects\Eclipse\AndroidVpnc/jni/vpnc.c:533: undefined reference to `gcry_cipher_setkey'
この問題の解決策を教えてください。
どうもありがとうございます。