Avatar ·

CMake में Debug और Release बिल्ड के बीच क्या अंतर है और उन्हें सही तरीके से कैसे कॉन्फ़िगर करें?

नमस्ते! मैंने अभी-अभी अपने C++ प्रोजेक्ट्स के लिए CMake सीखना शुरू किया है और मुझे Debug और Release कॉन्फ़िगरेशन के बीच अंतर समझ में नहीं आ रहा है। Visual Studio में मैं बिल्ड मोड चुनने का आदी था, जबकि CMake में इसके लिए `CMAKE_BUILD_TYPE` का उपयोग किया जाता है। मैंने एक सरल CMakeLists.txt लिखा है: ```cmake cmake_minimum_required(VERSION 3.10) project(MyProject) add_executable(myapp main.cpp) ``` और मैं इसे इस तरह बिल्ड करता हूँ: ```bash mkdir build && cd build cmake .. cmake --build . ``` लेकिन मैं `-DCMAKE_BUILD_TYPE=Debug` या `Release` निर्दिष्ट नहीं करता। तब क्या होता है? डिफ़ॉल्ट बिल्ड कौन सा है? और सबसे महत्वपूर्ण बात - Debug (डीबग जानकारी के साथ, बिना ऑप्टिमाइज़ेशन के) और Release (ऑप्टिमाइज़ेशन के साथ, बिना डीबग जानकारी के) के लिए अलग-अलग कंपाइलेशन फ्लैग्स को सही तरीके से कैसे कॉन्फ़िगर करें? मैंने सुना है कि CMake में बिल्ट-इन वेरिएबल्स हैं