g ++致命错误:没有输入文件窗口

时间:2012-09-20 17:51:57

标签: c++ compilation g++ cmd

我正在尝试为c ++设置windows编程环境。我使用Visual Studio编写代码,但我的大学希望我使用g ++编译器。到目前为止,我设法使用cmd将g ++与PATH链接,但并非全部。我必须使用linux中的别名:

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.

但如果我使用:

g++ hello.cc

它确实编译,所以我的问题是所有代码的含义是什么,我如何摆脱这个错误?

由于

1 个答案:

答案 0 :(得分: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

如果您想要在CMD提示中保持%p1++%环境变量,那么您需要在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的新用户变量。