2011-06-08 11 views
6

मैं complie इस तरह से कोशिश कर रहा हूँ mxmlc के माध्यम से अपने प्रोजेक्ट:mxmlc embedding संपत्ति

[prj_folder]\src>mxmlc mymxml.mxml -library-path+=../libs -sp+=..\assets 

और मैं ऐसी त्रुटियों मिलती है:

[prj_folder]\src\view\controls\controlname.mxml(7): Error: Problem finding external st 
ylesheet: assets/cssname.css 
     <fx:Style source="assets/cssname.css"/> 

[prj_folder]\src\view\constants\Images.as(24): col: 3: Error: Unable to transcode assets/ icons/icon1.png.

कैसे संकलक के लिए संपत्ति शामिल करने के लिए?

उत्तर

0

यह एक निर्देशिका सेटअप समस्या है; संकलक त्रुटि नहीं। और आप वास्तव में संपत्ति एम्बेड नहीं कर रहे हैं; बस उन्हें संदर्भित करना।

फ्लैश बिल्डर का उपयोग करते समय, फ़ाइल "संपत्ति/cssname.css" मुख्य एप्लिकेशन फ़ाइल के सापेक्ष होना चाहिए। मेरा मानना ​​है कि यदि आप कमांड लाइन कंपाइलर का उपयोग कर रहे हैं तो वही होना चाहिए।

क्या आपकी स्रोत निर्देशिका में संपत्ति उपनिर्देशिका है? क्या cssname.css फ़ाइल इसके अंदर है?

+0

संपत्ति निर्देशिका स्रोत फ़ोल्डर (.- src फ़ोल्डर, ../assets, ../libs - स्रोत पैकेज के बाहर फ़ोल्डर) के बाहर स्थित है। मैंने कभी भी संपत्ति को स्रोत में स्थानांतरित करने का प्रयास किया, लेकिन यह एक ही त्रुटि उत्पन्न करता है। "यह एक निर्देशिका सेटअप समस्या है, एक संकलक त्रुटि नहीं है।"। "निर्देशिका सेटअप समस्या" क्या है? क्या फ्लैश बिल्डर एमएक्सएमएलसी का उपयोग करता है? तो, मेरा सवाल है "swf संकलित करने के लिए mxmlc पर तर्क कैसे पास करें?" – 2xMax

+0

@ 2xMax मुझे विश्वास है कि आपकी निर्देशिका गलत स्थान में है। मेरा मतलब है "निर्देशिका सेटअप समस्या"। मुझे नहीं लगता कि आप स्रोत फ़ोल्डर के बाहर संपत्ति निर्देशिका को स्टोर कर सकते हैं। जिन संपत्तियों को आप अपने फ्लेक्स कोड से संदर्भित करना चाहते हैं, वे मुख्य आवेदन फ़ाइल के सापेक्ष होना चाहिए; इसके ऊपर नहीं यह वेब रूट के बाहर एक छवि डालने जैसा है और पूछ रहा है कि यह वेब पेज में क्यों लोड नहीं होगा। – JeffryHouser

+0

मांस निर्माता मेरे प्रोजेक्ट का अनुपालन करता है। इसलिए, संपत्ति परियोजना के बाहर स्थित किया जा सकता है। अनुलेख मैंने यह भी लिखा "मैंने कभी संपत्ति को स्रोत में स्थानांतरित करने की कोशिश की"। – 2xMax

6

फ़्लैश बिल्डर फ़ाइलों को प्रीप्रोकैस करता है।

इस तरह एक निर्देशिका संरचना के लिए:

projectdir/src/Main.mxml 
projectdir/src/views/SomeView.mxml 
projectdir/src/assets/MyImage.png 

और SomeView.mxml को संदर्भित करता है, तो संपत्ति/MyImage.png, फ्लैश बिल्डर इस अनुमति देगा:

@Embed('assets/MyImage.png') 

क्योंकि यह/संपत्ति के लिए preprocessed है आईडीई द्वारा/Myymage.png, लेकिन चींटी/maven + mxmlc ऐसा नहीं करेगा।

@Embed('/assets/MyImage.png') 

फ्लैश बिल्डर और एमएक्सएमएलसी दोनों के लिए काम करता है।

आप इस तरह एक रिश्तेदार पथ का उपयोग कर रहे हैं:

@Embed('../assets/MyImage.png') 

यह करने के लिए इसे बदलने की कोशिश, अजीब यह लग सकता है:

@Embed('/../assets/MyImage.png') 

प्रमुख/अनुवाद हो जाता है "मेरी src निर्देशिका ", और mxmlc वहां से पथ गणना का शेष करता है।

उम्मीद है कि इससे मदद मिलती है।

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