2011-12-19 4 views
9

के साथ एमएसवीसी परियोजना का निर्माण अच्छा दिन!सीएमके और कमांड लाइन

हमें एक स्रोत फ़ाइल main.cpp और एक CMakeLists.txt अगले पाठ वाली फ़ाइल करते हैं: "नमस्कार, दुनिया"

cmake_minimum_required(VERSION 2.6) 
project(tmp) 

set(CMAKE_CXX_FLAGS "-Wall") 
add_executable(tmp.elf main.cpp) 

मान लीजिए कि main.cpp फ़ाइल एक सरल होता है चलो कार्यक्रम:

#include <stdio.h> 

int main() 
{ 
    printf("Hello, World!\n"); 
    return 0; 
} 

हम cmake CMakeLists.txt && make के साथ इस परियोजना का निर्माण कर सकते हैं। फिर हमें tmp.elf फ़ाइल मिल जाएगी जो हम अभी चला सकते हैं। या हम tmp.elf फ़ाइल नहीं प्राप्त कर सकते हैं और मान लें कि main.cpp स्रोत फ़ाइल के साथ कुछ गड़बड़ है (माना जाता है कि कंपाइलर और सेमेक बिल्डिंग सिस्टम पर ठीक से स्थापित हैं)।

तो, सवाल यह है: हम कैसे Windows मशीन पर एक ही कर सकते हैं? जैसे cmake CMakeLists.txt चलाने के बाद हमें tmp.vcproj फ़ाइल मिल जाएगी और फिर हमें इसे किसी भी तरह से बनाने की आवश्यकता है। कमांड लाइन का उपयोग करके निर्माण प्रक्रिया कैसे की जा सकती है? (जावा के Process.start(), वास्तव में :-P)

उत्तर

16

आप --build विकल्प के साथ cmake लागू करके एक मंच और CMake जनरेटर स्वतंत्र फैशन में निर्माण शुरू कर सकते हैं:

cmake --build . 

बहु के लिए विन्यास जेनरेटर, आप निम्नलिखित तरीके से विन्यास निर्दिष्ट कर सकते हैं:

cmake --build . --config Release 

इसके अलावा documentation देखते हैं।

+0

हाँ, यह काम करता है: 'cmake CMakeLists.txt -G "विजुअल स्टूडियो 9 2008" और फिर -' सेमीकेक - बिल्ड। '। धन्यवाद! =) – shybovycha

+1

यह अब काम नहीं करता है, अब कोई निष्पादन योग्य नहीं बनाया गया है – GameDeveloper

+0

@GameDeveloper यह दृश्य स्टूडियो 11 के लिए काम करता है, कृपया [cmake साइट] में एक बग सबमिट करें (https://gitlab.kitware.com/cmake/cmake/issues)। – shuva