मुझे पता है कि मैं कंपाइलर को तर्क पारित करने के लिए LOCAL_CFLAGS
का उपयोग कर सकता हूं। हालांकि, ndk-build
मेरे LOCAL_CFLAGS
के बाद विकल्प डालने जा रहा है, और इसलिए उन्हें प्राथमिकता मिलती है। उदाहरण के लिए, मैं -Ofast
निर्दिष्ट करना चाहता हूं, लेकिन ndk-build
अपने स्वयं के झंडे के बाद -O2
जोड़ता है, और चूंकि केवल अंतिम विकल्प वह है जिसका कोई प्रभाव पड़ता है, मैं कुछ अनुकूलन झंडे सेट के साथ अपने कोड का परीक्षण करने में असमर्थ हूं।एंड्रॉइड एनडीके में कंपाइलर झंडे को नियंत्रित करना?
क्या बिल्ड 0 पर अंतिम विकल्प होने के लिए या ndk-build
को कुछ झंडे का उपयोग करने से अक्षम करने के लिए मेरे LOCAL_CFLAGS
को मजबूर करने का कोई तरीका है?
उदाहरण के लिए, मेरी LOCAL_CFLAGS
पर सेट है:
-Wall -Wno-psabi -Ofast -D CP_USE_DOUBLES=0 -D USE_CHIPMUNK
और g++
ndk-build
करता है कि करने के लिए कॉल है:
/Library/Android/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/arm-linux-androideabi-g++ -MMD -MP -MF ./obj/local/armeabi-v7a/objs/native-activity/Main.o.d -fpic -ffunction-sections -funwind-tables -fstack-protector -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-exceptions -fno-rtti -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -Ijni -Ijni/Chipmunk/include/chipmunk -I/Library/Android/android-ndk-r8b/sources/android/native_app_glue -I/Library/Android/android-ndk-r8b/sources/cxx-stl/stlport/stlport -I/Library/Android/android-ndk-r8b/sources/cxx-stl//gabi++/include -Ijni -DANDROID -Wall -Wno-psabi -Ofast -D CP_USE_DOUBLES=0 -D USE_CHIPMUNK -Wa,--noexecstack -frtti -O2 -DNDEBUG -g -I/Library/Android/android-ndk-r8b/platforms/android-9/arch-arm/usr/include -c jni/Main.cpp -o ./obj/local/armeabi-v7a/objs/native-activity/Main.o
वहाँ वहाँ में एक बहुत है, लेकिन विशेष रूप से ध्यान दें कि यह पहले -Os
निर्दिष्ट करता है, तो मेराहै, और उसके बाद -O2
है। यह -Os
निर्दिष्ट क्यों करता है यदि यह बाद में -O2
कहता है, मुझे नहीं पता, लेकिन मैं निराश हूं कि मेरा -Ofast
ओवरराइड किया जा रहा है।
यह किसी कारण से मेरे लिए नहीं है। मैं वास्तविक प्रश्न को 'g ++' पर दिखाने के लिए अपना प्रश्न संपादित करूंगा। '-O2' अभी भी 'ओफ़ास्ट' के बाद है। – Cornstalks
क्या आप अपनी एप्लिकेशन.एमके फ़ाइल पोस्ट कर सकते हैं? –
क्षमा करें, किसी कारण से मैंने पूरी तरह से इसे गलत तरीके से पढ़ा और इसे 'LOCAL_CFLAGS' के रूप में देखा। यह मेरे लिए काम किया, धन्यवाद! – Cornstalks