2013-11-26 4 views
6

मैं वर्तमान में सीएमकेई द्वारा कॉन्फ़िगर किए गए सी ++ प्रोजेक्ट के लिए SWIG का उपयोग करके एक पायथन 2.7 फ्रंटेंड को विचलित कर रहा हूं (स्वयं द्वारा विकसित नहीं किया गया है, मैंने अभी इस परियोजना के लिए सीएमकेई शुरू किया है)। प्रोजेक्ट पाइथन और स्विग के लिए FIND_PACKAGE का उपयोग करके VS2010 के तहत ठीक (और चलाता है) ठीक करता है। हालांकि, पायथन 2.7 (और अन्य रिलीज) को वीएस -2008 कंपाइलर का उपयोग करके संकलित किया गया है, जो वीएस -2010 के साथ बाइनरी संगत नहीं है। मैंने विंडोज एसडीके 7 कंपाइलर स्थापित किया है, और मैं distutils का उपयोग कर एक और एसडब्ल्यूआईजी परियोजना (सीएमकेईई के बिना) संकलित कर सकते हैं। विजुअल स्टूडियो 2008 के लिए CMake के साथ वास्तविक परियोजना कॉन्फ़िगर करने के लिए कोशिश कर रहा है, विफल रहता है के साथ:विंडोज-एसडीके कंपाइलर के लिए सीएमकेई का उपयोग कैसे करें, जब वीएस -2010 स्थापित है?

xxx> cmake . -G "Visual Studio 9 2008" 
CMake Error: CMake was unable to find a build program corresponding to "Visual Studio 9 2008". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.   
CMake Error: Could not find cmake module file: xxx/CMakeFiles/2.8.12/CMakeCXXCompiler.cmake              
CMake Error: Could not find cmake module file: xxx/CMakeFiles/2.8.12/CMakeCCompiler.cmake  

यह दोनों विंडोज एसडीके खोल में, साथ ही में होता है (मैं xxx के साथ अपने वास्तविक पथ की जगह) एक सामान्य खोल

क्या किसी ने किसी अन्य वीएस संस्करण को स्थापित करते समय सफलतापूर्वक एक सीएमकेई परियोजना को विंडोज एसडीके 7 कंपाइलर के लिए कॉन्फ़िगर किया है? यदि हां, तो कैसे? अंततः मैं जेनरेटेड। एसएलएन फ़ाइल का उपयोग कर प्रोजेक्ट बनाने के बजाय, सीएमकेई कॉन्फ़िगर किए गए पायथन डिस्टुटल्स बिल्ड का उपयोग करता हूं। इसलिए, एक वीएस -2008 बनाना। एसएलएन/.prj महत्वपूर्ण नहीं है।

उत्तर

4

मैं सिर्फ एसडीके कमांड प्रॉम्प्ट खोलूंगा, इसलिए आप चाहते हैं कि cl.exe (वीएस 2008 इंस्टॉल निर्देशिका में) पाथ में है (आप यह जांच सकते हैं कि where cl के साथ यह मामला है)।

तो बस CMake चलाने के लिए और यह Nmake makefiles उत्पन्न करते हैं:

mkdir build && cd build 
cmake .. -G "NMake Makefiles" 

यह अपनी पसंद के संकलक यह सुनिश्चित करना चाहिए प्रयोग किया जाता है।

यदि यह या तो काम नहीं करता है, तो एसडीके (या वीएस) एक निश्चित एसडीके संस्करण "वर्तमान" बनाने के लिए एक उपकरण के साथ आना चाहिए।

+1

आप सीएमके जीयूआई इंटरफ़ेस का भी उपयोग कर सकते हैं। जब आप कॉन्फ़िगर करने का प्रयास करते हैं तो यह आपको बिल्ड वातावरण का चयन करने की अनुमति देता है। – linello

+0

और आप "विजुअल स्टूडियो 2010" जनरेटर का उपयोग कर सकते हैं और कमांडलाइन पर msbuild का उपयोग कर सकते हैं। –

+0

@linello मुझे नहीं पता था कि सीएमके ग्राफिकल यूजर इंटरफेस इंटरफ़ेस ';-) 'के साथ आया था। – rubenvb

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