0

我正在尝试为 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

它确实可以编译,所以我的问题是所有这些代码是什么意思,我怎样才能摆脱这个错误?

谢谢

4

1 回答 1

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++使用 name =和 value =创建一个新的用户变量g++ -ansi -Wall -O2 -DNDEBUG -Wextra -Werror -Wno-uninitialized -Wno-sign-compare -Wshadow

于 2012-09-20T18:13:58.223 回答