2013-04-29 6 views
7

मैं पालन त्रुटि मिल रही है हल नहीं किया जा सकता है: एंड्रॉयड NDK परियोजना पर "प्रकार 'size_t' हल नहीं किया जा सकता है", लेकिन मैं पहले से ही पुस्तकालय पथ कहा:एंड्रॉयड NDK

/Users/ademar/android-ndk-r8e/platforms/android-8/arch-arm/usr/include 
/Users/ademar/android-ndk-r8e/sources/cxx-stl/stlport/stlport 
/Users/ademar/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include 

इसलिए मुझे समझ में नहीं आता कि यह त्रुटि क्यों है।


कोड जहाँ मैं त्रुटि मिलती है:

static inline bool simplejson_wcsnlen(const wchar_t *s, size_t n) 

मैं हेडर में से हर एक here लेकिन अभी भी काम नहीं कर रहा वर्णित गयी।


मैं पालन की कोशिश की:

#include <string.h> 
#include <jni.h> 
#include <android/log.h> 
#include <iostream> 
#include <stdio.h> 

extern "C" { 
    JNIEXPORT jstring JNICALL Java_xxx_getStringFromJNI(JNIEnv* env, jobject thiz, jstring param) { 
     size_t x; 
     return env->NewStringUTF("test"); 
    } 
} 

और यह भी काम नहीं ...

+0

कृपया, अपमानजनक कोड पोस्ट करें। –

+0

@AnonMail जोड़ा गया :) – ademar111190

+0

मुझे लगता है कि आपको हेडर को शामिल करने की आवश्यकता है जो size_t को परिभाषित करता है। और आपको शायद std :: size_t का उपयोग करना होगा। –

उत्तर

17

size_t stddef.h जो संकलक विशिष्ट है में परिभाषित किया गया है। इसे शामिल करने के लिए पथ में जोड़ने के लिए आपको/टूलचेन // प्रीबिल्ट // lib/gcc /// को अपने पथ में शामिल करना होगा।

उदाहरण के लिए, एनडीके का उपयोग कर 64 बिट विंडोज मशीन पर एंड्रॉइड ऐप बनाने के लिए, आपको अपने पथ में <NDK-PATH>\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\lib\gcc\arm-linux-androideabi\4.8\include जोड़ना होगा।

+1

प्रीप्रोसेसर शामिल, मैक्रोज़ इत्यादि -> प्रविष्टियां (सीडीटी उपयोगकर्ता प्रविष्टियां) -> जोड़ें और जांचें -> सिस्टम हेडर शामिल हैं –

संबंधित मुद्दे