2011-12-14 6 views
7

लक्ष्य प्लेटफ़ॉर्म के अनुसार आउटपुट फ़ाइलों में स्वचालित रूप से प्रत्यय जोड़ने के लिए Build Configuration सेटअप (जीयूआई से आदर्श) सेटअप करना संभव है?लक्ष्य प्लेटफ़ॉर्म के लिए स्वचालित रूप से प्रत्यय जोड़ने के लिए बिल्ड कॉन्फ़िगरेशन को कॉन्फ़िगर करना संभव है?

मेरा मतलब है, मैं Project नामित उदाहरण पुस्तकालय परियोजना के लिए होगा और मैं

Project.dll - when I build the project for 32-bit platform 
Project64.dll - when I build the project for 64-bit platform 

आप

+0

अब तक मुझे पता है केवल एक चीज आप बदल सकते हैं '{$ ई} के साथ विस्तार है' –

+0

दुर्भाग्य से {$ ई} एक्सटेंशन डॉट के पीछे मूल्य, स्थानों इसलिए '{$ ई 64.dll का उपयोग कर } 'मुझे' Project.64.dll' जैसे कुछ अच्छा बनायेगा जो इतना अच्छा नहीं है :( –

+0

हां, मुझे एहसास है कि यह वही नहीं है जो आप चाहते हैं। उस बिंदु पर स्पष्ट नहीं होने के लिए खेद है। जहां तक ​​मुझे पता है कि यह केवल यही है विकल्प आपके पास उपलब्ध है। मेरा समाधान फ़ाइल का नाम बदलने के लिए पोस्ट बिल्ड स्क्रिप्ट का उपयोग करना है। –

उत्तर

12

मजेदार पर्याप्त धन्यवाद मैं निष्पादन के लिए कल सटीक एक ही बात करने के लिए कोशिश कर रहा था प्राप्त करना चाहते हैं मेरे ऐप की फाइल मैं इस निष्कर्ष पर पहुंचा कि आउटपुट फ़ाइल का नाम बदलना संभव नहीं है। आउटपुट फ़ाइल के नाम को प्रभावित करने का एकमात्र तरीका {$E} निर्देश के साथ है, लेकिन यह उस आउटपुट के विस्तार को नियंत्रित करता है जो आप नहीं चाहते हैं।

अद्यतन

$LIBSUFFIX निर्देश ओर इशारा करते हुए के लिए @TOndrej के लिए धन्यवाद। यह पुस्तकालयों के लिए आईडीई परियोजना विकल्पों के माध्यम से संशोधित प्रतीत नहीं होता है, हालांकि पैकेज के लिए ऐसा समर्थन है। हालांकि, यह वास्तव में काम करता है जब आपके पैकेज के स्रोत कोड में शामिल किया जाता है। इसे अपनी लाइब्रेरी .dpr फ़ाइल में शामिल करें।

{$IFDEF WIN64} 
    {$LIBSUFFIX '64'} 
{$ENDIF} 

इस परियोजनाओं कि निष्पादनयोग्य (अर्थात VCL क्षुधा, सेवाओं आदि) का उत्पादन और इसलिए मेरा मानना ​​है कि उन मामलों में एकमात्र समाधान के बाद निर्माण कार्य है के लिए कोई असर नहीं होता है।

+0

प्रयास के लिए आप और टंड्रेज के लिए धन्यवाद। –

+0

निष्पादन योग्य नामों के लिए कोई मौका?Project32.exe और Project64.exe की तरह –

1

आप निष्पादन योग्य नाम बदलने के लिए एक बिल्ड इवेंट का भी उपयोग कर सकते हैं। परियोजना के लिए विकल्पों में पोस्ट का निर्माण होने पर, आपको कुछ इस तरह कर सकता है:

ren $(OUTPUTPATH) $(OUTPUTNAME)$(Platform).exe 

है कि आप की तरह कुछ देना होगा:

ExampleProgramWin64.exe 

या

ExampleProgramWin32.exe 

इसका मतलब यह है कि आप हालांकि इसे डीबग नहीं किया जा सकता है, क्योंकि आईडीई को पता नहीं है कि इसका नाम बदला गया है, इसलिए शायद एक प्रतिलिपि करना अधिक उपयुक्त है।

copy $(OUTPUTPATH) $(OUTPUTDIR)\$(OUTPUTNAME)$(Platform).exe 
संबंधित मुद्दे