0

私は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'

この問題の解決策を教えてください。

どうもありがとうございます。

4

1 に答える 1

0

opt_debug、error、xalloc、gcry_cipher_open、gcry_cipher_setkey を含むライブラリも含める必要があります。

于 2012-09-14T04:33:25.297 に答える