में एक चर के 2 अलग-अलग मानों के साथ एक प्रोग्राम कैसे बनाया जाए, मैंने हाल ही में Qt
प्रोजेक्ट qmake
से CMake
पर पोर्ट किया है। मेरा मुख्य कार्यक्रम एक मान है जो #define
निर्देश पर निर्भर करता है।सीएमके
मैं निर्दिष्ट करना चाहता हूं कि CMake
के माध्यम से बाहरी रूप से निर्देश परिभाषित करें और उसी निष्पादन योग्य के 3 अलग-अलग नामित संस्करणों का निर्माण करें।
मुझे यह कैसे करना चाहिए?
मैंने set_target_properties
देखा है लेकिन यह केवल पुस्तकालयों के लिए काम करता है, न कि निष्पादन योग्य के लिए।
उदाहरण के लिए मैं चाहता हूँ कि निम्नलिखित कार्यक्रम,
int main()
{
cout << BUILDTYPE << endl;
}
यह 3 अलग जायके (3 निष्पादनयोग्य) BUILDTYPE "define"
उदाहरण के लिए मेरी CMakeLists.txt
में मैं
add_executable(myAppV1 -DBUILDTYPE=1)
add_executable(myAppV2 -DBUILDTYPE=2)
add_executable(myAppV3 -DBUILDTYPE=3)
निर्दिष्ट करना चाहते हैं के आधार पर संकलित है
लेकिन यह सही वाक्यविन्यास नहीं है। कुछ संकेत? और मुझे 3 निष्पादन योग्य हैं जो
धन्यवाद! मैं add_executable के बाद set_target_properties ले जाने और दूसरे संस्करण आप ने लिखा add_executable (myAppv1 main.cpp) set_target_properties (myAppV1 गुण COMPILE_DEFINITIONS "BUILDTYPE = 1") लेकिन नहीं इस तरह से add_executable (myAppv1 में इसका इस्तेमाल करने के लिए है main.cpp) set_target_properties (myAppV1 गुण COMPILE_DEFINITIONS "-DBUILDTYPE = 1") – linello