जब मैं # शामिल साथ सीपीपी फ़ाइल संकलन करने की कोशिश मैं cpp फ़ाइल का उपयोग कर (cygwin के साथ विंडोज 7) NDK-निर्माण उपकरण संकलन के साथ समस्या यह त्रुटि दिखाई देता है हो रही है:एंड्रॉयड NDK-निर्माण iostream: ऐसी कोई फ़ाइल या निर्देशिका
यहाँ#include <jni.h>
#include <string.h>
#include <stdio.h>
#include <android/log.h>
#include <iostream>
#define DEBUG_TAG "NDK_SampleActivity"
#define LOG_TAG "hellojni"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)
#ifdef __cplusplus
extern "C" {
#endif
void Java_com_test_ndk_SampleActivity_helloLog(JNIEnv* env, jobject thisobj, jstring logThis)
{
jboolean isCopy;
const char * szLogThis = env->GetStringUTFChars(logThis, &isCopy);
__android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:LC: [%s]", szLogThis);
env->ReleaseStringUTFChars(logThis, szLogThis);
}
#ifdef __cplusplus
}
#endif
और मेरे Android.mk फ़ाइल है::
jni/native.cpp:5:20: error: iostream: No such file or directory
यहाँ मेरी cpp फ़ाइल है
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
APP_STL:=stlport_static
LOCAL_LDLIBS := -llog
LOCAL_MODULE := swingbyte-android
LOCAL_SRC_FILES := native.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include-all
include $(BUILD_SHARED_LIBRARY)
मेरे पास एंड्रॉइड एनएनडीके फ़ोल्डर (एनडीके_आरओटी \ स्रोत \ cxx-stl \ gnu-libstdC++ \ शामिल) में iostream फ़ाइल है, लेकिन मुझे यह नहीं पता कि उस फ़ोल्डर में आईट्रीम (और अन्य स्टैंडएट हेडर फाइल) देखने के लिए कंपाइलर को कैसे बताना है ।
ऐसा लगता है कि मुझे एक या कुछ पर्यावरण चर या कुछ कॉमिकर झंडे याद आ रहे हैं।
मुझे यह लाइन एंड्रॉइड.एमके में मिली है, आप इसे मेरे पोस्ट में देख सकते हैं। –
आपको उस लाइन को APPLICATION.mk फ़ाइल में रखना चाहिए, न कि ANDROID.mk –
हाँ! APPLICATION.mk की ANDROID.mk की तुलना में एक अलग भूमिका है, और इसे jni की रूट (-> projet_dir/jni/application.mk) पर बनाया जाना चाहिए। (धन्यवाद मार्टिन) – Gaetan