2013-09-07 6 views
6

मेरे पास वीएस एक्सप्रेस(2012)डेस्कटॉप के लिए है। क्या मैंने NMAKE.EXE प्रोग्राम भी हासिल किया है?विंडोज़ पर विम के साथ "कंपाइलर एमएसवीसी" और ": कॉम्प एमएसबिल्ड" कैसे चलाएं?

http://msdn.microsoft.com/en-us/library/dd9y37ha.aspx - माइक्रोसॉफ्ट प्रोग्राम रखरखाव उपयोगिता (NMAKE.EXE) एक उपकरण है कि परियोजनाओं वर्णन फ़ाइल में आदेशों के आधार पर बनाता है।

जब मैं :make चलाने :compiler msvc चलाने के बाद, खोल संदेश लौटे "'nmake' एक आंतरिक या बाह्य आदेश, के रूप में मान्यता प्राप्त नहीं है"। मैं इन आदेशों का उपयोग कर एक सी ++ प्रोग्राम कैसे संकलित कर सकता हूं? क्या उपकरण NMAKE.EXE'nmake' कमांड से संबंधित है?


http://msdn.microsoft.com/en-us/library/wea2sca5(v=vs.90).aspx - MSBuild माइक्रोसॉफ्ट और दृश्य स्टूडियो के लिए नए निर्माण मंच है।

http://msdn.microsoft.com/en-us/library/dd293626.aspx - आप MSBuild उपकरण का उपयोग कर सकते हैं कमांड प्रॉम्प्ट से एक विजुअल C++ आवेदन का निर्माण। निर्माण प्रक्रिया को में एक प्रोजेक्ट फ़ाइल (.vcxproj) में जानकारी द्वारा नियंत्रित किया जाता है जिसे आप बना और संपादित कर सकते हैं। प्रोजेक्ट फ़ाइल बिल्ड चरणों, शर्तों और ईवेंट के आधार पर बिल्ड विकल्प निर्दिष्ट करता है।

मैं भी डेस्कटॉप के लिए मेरे वी.एस. एक्सप्रेस की वजह से MSBuild उपकरण प्राप्त कर लिया था? :compiler msbuild चलाने के बाद जब मैं :make का उपयोग करता हूं, तो खोल ने संदेश "msbuild 'को आंतरिक या बाहरी कमांड के रूप में पहचाना नहीं है,"msbuild.vimMSBuild उपकरण से संबंधित है?

msbuild.vim ने कहा, के मेंटेनर "मैं सी # .NET का उपयोग कर परियोजनाओं के संकलन के लिए स्क्रिप्ट बनाया ... मैं अगर यह सी ++ के लिए काम करेंगे पता नहीं है ..."

विम में :make से पहले :compiler msbuild चलाकर मैं संकलित कैसे कर सकता हूं?


इस तरह के एक सी ++ स्रोत फ़ाइल के रूप में एक कार्यक्रम संकलन, इस प्रश्न पर के बारे में केवल दो सवाल हैं, और विस्तृत निर्देशों के साथ उत्तर दें:

  1. :compiler msvc का उपयोग कैसे करें?
  2. :compiler msbuild का उपयोग कैसे करें?
+1

एक "दृश्य स्टूडियो (2012) शीघ्र कमांड" (अपने प्रारंभ मेनू/स्क्रीन में उपलब्ध होना चाहिए) – user786653

+0

एक और जानकारी http पर से चल (छ) विम का प्रयास करें : //vim.wikia.com/wiki/Integrate_gvim_with_Visual_Studio#Compiling_from_Vim जो इस प्रश्न को हल करने में मदद कर सकता है _ _ "यदि आप एनएमके का उपयोग करते हैं, तो आप विजुअल सी ++ के लिए विम के 'त्रुटि प्रारूप' और 'मेकप्रग' सेट करने के लिए 'कंपाइलर एमएसवीसी' का उपयोग कर सकते हैं। सी # के लिए 'संकलक cs' का प्रयोग करें।" _ – 5ervant

उत्तर

5

एक त्वरित खोज इस पर आई: Getting started - C/C++ programming with VIM, जो एक अच्छा प्रारंभिक बिंदु हो सकता है।

user786653 उल्लेख किया है, यह विफल हो रहा है क्योंकि आपके पथ निर्देशिका nmake.exe शामिल नहीं है में है। आप

:echo $PATH 

विम के साथ अपने पथ का निरीक्षण अंतर्निहित निर्माण कार्यक्षमता को प्रतिस्थापित नहीं करता है, यह बस इसे लपेटता है।

test.cpp

#include <iostream> 
int main() { 
    printf("hello world."); 
    return 0; 
} 

Makefile

all: 
    cl test.cpp 
  • सेट:

    1. प्रारंभ दृश्य स्टूडियो कमांड प्रॉम्प्ट
    2. एक परीक्षण निर्देशिका में नई फ़ाइलें बनाएं से जाँचने संकलक (जीवीआईएम)

      :compiler msvc 
      
    3. संकलन (जाँचने)

      :make 
      

    मैं, लेकिन "कार्यक्रम बनाने" की स्थापना करके msbuild.vim स्क्रिप्ट की जरूरत नहीं है MSBuild.exe को

    :set makeprg=msbuild 
    

    आप इसे चलाकर बना सकते हैं: एक समाधान (.sln) या प्रोजेक्ट (.vxcproj) फ़ाइल वाली निर्देशिका से बनाते हैं, या आपका उपयोग कर सकते हैं 10 इस तरह:

    :make c:\Test\Test.sln /t:Rebuild /p:Configuration=Debug 
    

    संकलन के बाद, आप

    :copen 
    

    साथ आउटपुट का परीक्षण कर सकते हैं और साथ त्रुटियों नेविगेट (एन पिछले के लिए अगले, पी के लिए, और पहली त्रुटि के रिवाइंड के लिए आर)

    :cn 
    :cp 
    :cr 
    
  • +0

    मैं पहले से ही VS2012 के लिए डेवलपर कमांड प्रॉम्प्ट से चल (छ) विम की कोशिश की। मुझे लगता है कि सही निर्देश इसे काम करेंगे। – 5ervant

    +0

    खोल लौटे _ "MSBuild: त्रुटि MSB1003: एक परियोजना या समाधान फ़ाइल निर्दिष्ट करें। वर्तमान कार्य निर्देशिका में कोई प्रोजेक्ट या समाधान फ़ाइल नहीं है। "_ जब': कंपाइलर msbuild' का उपयोग किया जाता है। 'कंपाइलर एमएसवीसी' के बारे में आपका उत्तर काम कर रहा है लेकिन यह विशेष रूप से शुरुआत के लिए निर्देशित नहीं है। इसमें कोई मैक्रो भी नहीं है। और सभी के अधिकांश, मैं दिन बिताने [Nmake संदर्भ] (http://msdn.microsoft.com/en-us/library/dd9y37ha.aspx) के तहत सभी सामग्री को पढ़ने के लिए। फिर भी, मुझे लगता है कि यह उत्तर आधा बकाया राशि से सम्मानित होने के लायक है। – 5ervant

    +1

    आह, कि एक अच्छा सवाल है, मैं उल्लेख नहीं था कि वर्तमान निर्देशिका एक समाधान (.sln) या परियोजना (.vxcproj) फ़ाइल शामिल करने की जरूरत है, बहुत पसंद यह makefile के लिए करता है। मैं इसे और अधिक स्पष्ट करने के लिए संपादित कर दूंगा। – g3cko

    4

    जब मैं का उपयोग करें: बनाते हैं चलाने के बाद: संकलक MSBuild, खोल लौटे संदेश " 'MSBuild' recogni नहीं है एक आंतरिक या बाहरी कमांड के रूप में zed, "। क्या msbuild.vim MSBuild उपकरण से संबंधित है?

    हां।

    कमांड प्रॉम्प्ट में msbuild को सक्षम करने के लिए, आपको बस अपनी मशीन पर PATH पर्यावरण परिवर्तक पर .net4 फ्रेमवर्क इंस्टॉल करने का पथ जोड़ना होगा। विंडोज़ पर मेरे लिए निम्नलिखित काम किया गया:

    आप 'कंप्यूटर' पर राइट क्लिक करके पर्यावरण चर का उपयोग कर सकते हैं, 'गुण' पर क्लिक करके बाएं नेविगेशन बार पर 'उन्नत सिस्टम सेटिंग्स' पर क्लिक कर सकते हैं। अगले संवाद बोग पर 'पर्यावरण चर' पर क्लिक करें, 'पथ' पर स्क्रॉल करें और इसे ढांचे में अपना रास्ता शामिल करने के लिए संपादित करें (यहां अंतिम प्रविष्टि के बाद ';' को मत भूलें।

    संदर्भ के लिए मेरा मार्ग C:\Windows\Microsoft.NET\Framework64\v4.0.30319 था। [1]

    हालांकि मैं इसे केवल सी # परियोजनाओं के लिए उपयोग करता हूं, मुझे लगता है कि यह सी ++ के लिए भी काम करेगा। याद रखें कि आपको को प्रोजेक्ट निर्देशिका के अंदर चलाने की ज़रूरत है, अन्यथा msbuild आपकी प्रोजेक्ट को नहीं ढूंढ पाएगा।

    पूर्णता के लिए, यहां मेरे vimrc का एक स्निपेट (जिसे ओपी पहले ही ईमेल द्वारा प्राप्त हुआ है)।

    noremap <F4> :<C-U>silent make<CR>:redraw!<CR> 
    au FileType cs compiler msbuild 
    

    इस कंपाइलर स्क्रिप्ट के पैच और परिवर्धन हमेशा स्वागत करते हैं!

    सादर

    [1]: How do I run msbuild from the command line using Windows SDK 7.1?

    +0

    मुझे यह नोटिस मिलने में थोड़ी देर लग गई कि यह जवाब ** msbuild.vim ** _ के रखरखाव से आया था (माइक्रोसॉफ्ट विजुअल स्टूडियो सी #) _ स्क्रिप्ट। – 5ervant

    +0

    आमतौर पर मैं लिनक्स पर xbuild (MSBuild का मोनो समतुल्य) का उपयोग करें। इस प्रश्न का उत्तर देने के लिए मैंने विंडोज़ पर विम स्थापित किया और उपरोक्त विधि का उपयोग करके मेरे पथ में एमएसबिल्ड जोड़ा। एक स्रोत फ़ाइल खोलना और ': comp msbuild'' और ': make' चलाना तुरंत प्रोजेक्ट संकलित किया गया। –

    +0

    @ सर्वेंट ने यह आपके लिए काम किया है? –

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