سؤال

لدي مشروع صغير مع مكتبات Cocos2D-X.أحاول استخدام C ++ لاستدعاء وظيفة Java ولكن أحصل على استثناء إشارة 11 في الخط: giveacodicetagpre.

لكنني لا أعرف لماذا يحدث هذا.

في بلدي java class getsocial.java موجودة هذه الوظيفة: giveacodicetagpre.

هذه الوظيفة قم بتشغيل Navigator لنشر سقسقة.دعا من جافا يعمل بشكل جيد.

في my c ++ interfacejni.h لدي: giveacodicetagpre.

وفي interfacejni.cpp: giveacodicetagpre.

يتم استدعاء هذه الواجهة من جزء من الرمز باستخدام: giveacodicetagpre.

ما يحدث لإرجاع مؤشر فارغا على jvm-> getenv ((void **) & env، jni_version_1_6)؛

هل كانت مفيدة؟

المحلول

يبدو أن متغير JVM الخاص بك فارغ أو القمامة.يحتوي إصدار Cocos2D-X الذي استخدمه فئة يسمى JniHelper مع ثابت :: GetJavavm ()؛الطريقة التي قد ترغب في استخدامها. giveacodicetagpre.

أيضا، تذكر "تحديث" مشروع Eclipse الخاص بك في كل مرة تقوم فيها ببناءها مع NDK.ربما تفعل بالفعل، لكن الأمر يستحق التدقيق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top