2010-09-17 103 views
1

我想學習Vim編輯器,我試圖編譯一個C文件。我已經安裝了MinGW和我添加gcc.exe到系統路徑:在Windows XP中編譯C

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Arquivos de programas\TortoiseSVN\bin;c:\Arquivos de programas\Microsoft SQL Server\100\Tools\Binn\;c:\Arquivos de programas\Microsoft SQL Server\100\DTS\Binn\;C:\MinGW\bin\ 

在Vim的,我所做的: :GCC code.c -o gcc.exe 一個cmd窗口下面的開text:

C:\WINDOWS\system32\cmd.exe /c gcc -Wall code.c -o code.exe 
gcc: code.c: No such file or directory 
gcc: no input files 
shell returned 1 
Hit any key to close this window... 

怎麼了? 謝謝。

+2

您需要從'code.c'所在的目錄執行命令。 – Oded 2010-09-17 13:50:11

+0

也許你試圖編譯被調用的UB的程序(或爲什麼這個標記爲「c」?) – pmg 2010-09-17 13:51:00

+0

C:\ code.c - 如何更改目錄然後在vim中運行它? – gazu 2010-09-17 13:52:50

回答

2

完全.vimrcthis question,你需要的路線是:

" Automatically cd into the directory that the file is in 
autocmd BufEnter * execute "chdir ".escape(expand("%:p:h"), ' ') 
+0

很酷。這真的很有用!謝謝!你能解釋這條線嗎? – gazu 2010-09-17 14:02:14

+0

其實......不:)我只是用它而已 - 但是':help'是你的朋友,'autocmd'命令在'40.3'中覆蓋了。 – 2010-09-17 14:17:15

+0

好的,非常感謝。 – gazu 2010-09-17 14:44:59

0

有沒有可能是你的文件實際上是一個名爲「code.c.something」。 Windows喜歡在沒有詢問的情況下爲文件添加額外的結尾。這可能不是解決方案,但需要注意。

+0

你從哪裏得到Windows喜歡這樣的想法? – ysap 2010-09-18 05:41:35

+0

Windows中的默認樣式設置將隱藏文件擴展名,並在保存文件時自動添加文件擴展名。如果您允許隱藏所有文件擴展名,那麼您不知道文件的名稱。 – luther07 2010-09-27 14:04:55