2012-01-04 10 views
7

हाल ही में मैंने a problem on the midas की खोज की और मैंने इसे ठीक किया, अब समस्या यह है कि मैं MidasLib का उपयोग midas.dll का उपयोग नहीं करना चाहता हूं और स्रोत कोड के साथ मैं केवल निर्माण करने में सक्षम हूं डीएलएलमिडास स्रोत कोड से midas.obj का निर्माण कैसे करें

स्रोत सी ++ है और मेरे पास इसके साथ बहुत कम ज्ञान है। मुझे पता है कि MidasLib.pas आंतरिक रूप से midas.obj का उपयोग करता है, इसलिए मुझे इसे मिडस को मेरे आवेदन में स्थिर रूप से जोड़ने के लिए बनाना होगा। सी ++ बिल्डर पर इसे कैसे करें? (एक्सई)

+0

आप पुन: संकलित करने की कोशिश करने के बजाए स्मृति में कोड को पैच करने से बेहतर हो सकते हैं। यदि आप स्मृति में 255 का पता लगा सकते हैं तो आपको केवल वर्चुअल प्रोटेक्ट संशोधन करना होगा और आप सुनहरे होंगे। –

+0

@ डेविड हेफरन हाँ! यह वास्तव में सबसे अच्छा रूप होगा, लेकिन कैसे ढूंढें: 1 - # परिभाषित घोषणा; 2 - संशोधित करने के लिए लाइन? –

+0

@ डेविड हेफरन तो, स्रोत कोड से midas.obj बनाने के लिए कोई रास्ता नहीं है ???? –

उत्तर

1

जब आप सी ++ कोड संकलित करते हैं, तो संकलक प्रत्येक .CPP/.C फ़ाइल के लिए एक ओबीजे फ़ाइल बनाता है और आपके कंप्यूटर पर कहीं भी बचाता है। ज्यादातर मामलों में क्या होता है कि कोई उन सभी पर एक लिंकर चलाएगा। ओबीजे फाइलें उन्हें एक EXE या DLL में शामिल करने के लिए, लेकिन आपके मामले में आपको उन परिणामों की आवश्यकता नहीं है। आपका सी ++ बिल्डर अधिकांश प्रोग्रामिंग आईडीई की तरह है, जो स्वचालित रूप से संकलन और लिंकिंग दोनों कर रहा है।

यदि आप सिर्फ ओबीजे चाहते हैं, तो आपको यह पता लगाना होगा कि आपके प्रोजेक्ट फ़ोल्डर में सी ++ बिल्डर अपनी ओबीजे फाइलें रख रहा है (जिसे "इंटरमीडिएट आउटपुट" कहा जाता है, आमतौर पर, क्योंकि यह संकलन और लिंकिंग के बीच मध्यवर्ती चरण है) । तो आपके पास midas.cpp या midas.c नामक एक स्रोत फ़ाइल होनी चाहिए जो midas.obj नामक संबंधित आउटपुट फ़ाइल उत्पन्न करती है।

+0

हां! यह वह जवाब था जिसे मैं ढूंढ रहा था। लेकिन दुर्भाग्य से Embarcadero एक midas.cpp प्रदान नहीं करता है, इसलिए इस समय कोई midas.obj नहीं है। लेकिन मैंने डेविड हेफ़र्नन दृष्टिकोण का पालन किया और मैंने अपेक्षित व्यवहार प्राप्त करने के लिए मूल midas.obj पर एक पैच किया है। आपका बहुत बहुत धन्यवाद। केवल थोड़ी सी व्याख्या करने के लिए: .obj फ़ाइल सी/सी ++ पर .cpp फ़ाइल के लिए है .dcu फ़ाइल डेल्फी पर .pas फ़ाइल के लिए है;) –

+0

मेरा फिक्स (पुर्तगाली में, क्षमा करें): https://sites.google.com/site/carlosfeitozafilho/artigos/comoobtermensagensdeerroereconcileerrorcommaisde255caracteres –

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