2012-09-20 518 views
0

我想爲C++設置windows編程環境。我使用Visual Studio編寫代碼,但是我的大學希望我使用g ++編譯器。到目前爲止,我設法使用cmd鏈接g ++與PATH,但這並非全部。我必須使用別名,其在Linux中:g ++致命錯誤:沒有輸入文件窗口

p1++="g++ -ansi -Wall -O2 -DNDEBUG -Wextra -Werror -Wno-uninitialized -Wno-sign-compare -Wshadow 

我使用命令DOSKEY試圖同:

doskey p1=g++ -ansi -Wall -O2 -DNDEBUG -Wextra -Werror -Wno-uninitialized -Wno-sign-compare -Wshadow 

和它的作品,但每當我使用例如:

p1++ hello.cpp 

它說

g++: fatal error: no input files 
compilation terminated. 

但如果我我們e:

g++ hello.cc 

它編譯,所以我的問題是所有的代碼是什麼意思,我怎樣才能擺脫那個錯誤?

感謝

+0

「hello.ccp」?任何人都知道GCC是否查看文件擴展名? – Mysticial

+1

@Mysticial:確實如此。 'g ++'也爲鏈接添加了一些額外的庫。 – greyfade

+0

@Mysticial是啊,什麼greyfade說,而且如果你嘗試用g ++編譯一個'.c'文件,它會編譯爲C. –

回答

0

TEST.CPP(假設在C到存在:\ TEST.CPP):

#include <iostream> 
int main(void) { std::cout << "hello" << std::endl; return 0; } 

下面是它看起來像在我的Windows CMD提示:

注:無引用別名,並且假定g++已經在您的PATH中。

C:\>set p1++=g++ -ansi -Wall -O2 -DNDEBUG -Wextra -Werror -Wno-uninitialized -Wno-sign-compare -Wshadow 

C:\>%p1++% 
g++: fatal error: no input files 
compilation terminated. 

C:\>%p1++% test.cpp 

C:\>a.exe 
hello 

C:\>doskey p1++=%p1++% $* 

C:\>p1++ test.cpp 

C:\>a.exe 
hello 

如果你想有%p1++%環境變量之間保留CMD提示,然後你需要一個環境變量添加到您的Windows用戶配置文件。

在Windows 7:

Control Panel => System => Advanced System Settings => Environment Variables. 

創建一個新的用戶變量與名= p1++和值= g++ -ansi -Wall -O2 -DNDEBUG -Wextra -Werror -Wno-uninitialized -Wno-sign-compare -Wshadow

+0

確定工作得很好,但爲什麼它不是與doskey命令一起工作,有沒有一種方法來保存這個權重,以便我不必分岔它每次我輸入cmd – Buradi

+0

@Buradi - Doskey是一個程序,而不是一個環境變量,所以它不能保存跨不同CMD實例的宏。你需要做的就是創建一個到CMD.EXE的快捷方式,然後編輯'Shortcut'標籤下的'Target:'值來讀取'C:\ Windows \ System32 \ cmd.exe/k doskey p1 ++ =%p1 ++% $ *'。然後,不要啓動CMD.EXE,而是在啓動CMD.EXE.LNK之前,您將獲得控制權並運行該宏並創建宏。 –

+0

@JamesK非常感謝你 – Buradi

相關問題