मुझे लगता है कि मैं रिलीज और डीबग बिल्ड मोड के बीच अंतर को समझता हूं। मुख्य अंतर यह है कि डीबग मोड में, निष्पादित योग्य निष्पादन योग्य नहीं है (क्योंकि यह डीबगिंग को कठिन बना सकता है) और डीबग प्रतीकों को शामिल किया गया है।बिल्ड मोड: RelWithDebInfo
पीसीआरई बनाने के दौरान, WinMerge के लिए बाहरी निर्भरताओं में से एक, मैंने एक बिल्ड मोड देखा जो मैंने पहले नहीं देखा था: RelWithDebInfo।
डीबग और रिलीविथडेबइन्फो के बीच का अंतर यहां उल्लिखित है: http://www.cmake.org/pipermail/cmake/2001-October/002479.html। अंश: "RelwithDebInfo रिलीज मोड के समान है। यह पूरी तरह से अनुकूलित कोड उत्पन्न करता है, लेकिन प्रोग्राम डेटाबेस भी बनाता है, और डीबगर को डीबग लाइन जानकारी डालने के लिए एक अच्छा मौका देने के लिए एक अच्छा मौका देता है जहां आप किसी भी समय कोड में हैं। "
यह वास्तव में एक अच्छा विचार की तरह लगता है, हालांकि यह आवश्यक नहीं है कि कैसे सेट अप किया जाए। यह लिंक वर्णन करता है कि वीसी ++: http://www.cygnus-software.com/papers/release_debugging.html
क्या मुझे कुछ याद आ रही है, या क्या रिलाइथडेबइन्फो के रूप में सभी रिलीज कोड को संकलित करने के लिए यह समझ में नहीं आता है?
आपको अपने ग्राहकों को डीबग जानकारी नहीं भेजनी है (ओह, जब तक आपने उल्लेख नहीं किया है, प्लेटफ़ॉर्म के लिए जहां यह बाइनरी में एम्बेड किया गया है) –
डिबग जानकारी _b extra_ निष्पादन योग्य (जैसे वीसी) डालने के साथ, यह नहीं है एक मुद्दा। – sbi
मैं क्रॉस प्लेटफ़ॉर्म विकास करता हूं। मुझे उम्मीद है कि दृश्य सी ++ लोग अन्य प्लेटफॉर्म पर लक्ष्य के परिणामों को समझते हैं। मैं भी cmake उपयोगकर्ताओं को cmake मेलिंग सूची का उपयोग करने की सलाह देता हूं, क्योंकि मुझे उनके लिखित दस्तावेज़ अधूरे पाते हैं। – Juan