编译器g++不能创建a.out文件
The compiler g++ can't create a.out file?
我在做我的c++课的作业。我用这个语句g++-5.2.0 -std=c++14 -Wall -Wextra -pedantic <file_name>
编译了很长一段时间,然后,由于某种原因,我收到了这个消息:Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
.
我天真地执行了sudo g++-5.2.0 -std=c++14 -Wall -Wextra -pedantic hw2pr3.cpp
命令,输入了我的密码,并同意了条款。
现在,当我尝试用g++-5.2.0 -std=c++14 -Wall -Wextra -pedantic hw2pr3.cpp
编译时,我得到了这个语句:
ld: can't write output file: a.out for architecture x86_64
collect2: error: ld returned 1 exit status
有人知道该怎么做吗?
我现在试图运行的文件(hw2pr3.cpp)与以前的文件的不同之处在于这一行:
std::cout << std::setprecision(2) << "You should give away about $" << donate << ", save about $" << save <<", and live on about $" << live << ".n";
我的猜测是std::set precision(2)搞砸了(这是我第一次使用这个语句,我不知道我是否做对了),或者是cout中的'$'引起了问题。
不,我不能提供完整的源代码;这是我的作业,我不会把它贴在这里。
当您使用sudo g++-5.2.0
编译代码时,您是以根用户身份运行编译器,因此输出文件a.out
是以根用户身份创建的。如果没有sudo
,您将作为普通用户运行,并再次尝试将输出写入a.out
。但是作为普通用户,您没有权限删除/覆盖根用户拥有的文件a.out
。
所以只要sudo rm a.out
,一切都应该很好。
- .cpp和.h文件中的模板专用化声明
- -bash:/a.out:无法执行二进制文件:Exec格式错误
- 为什么 .out 文件是十六进制而不是二进制
- g++ 不创建"a.out"文件
- 如何将文件写入当前目录而不是Bazel-Out
- 为什么PHP的Shell_exec没有给出某些A.Out文件的输出
- g++.exe:error:libgomp-1.dll:没有这样的文件或目录;make:***[Out release]
- Android Cmake编译器正在生成带有额外前缀和符号后缀的.out文件
- 尝试同时写入 std:out 和文件
- 如何通过键入 "a.out < textfilename.txt" 让 .out 文件通过终端读取文本文件
- 什么可能导致错误:"Fatal Error: Out of memory - aborting"简单地包含头文件?
- a.out Linux 可执行文件是哪个程序
- 如何将llvm::out()重定向到文件
- 在 C++ 文件上的 Windows 环境中运行 Unix 类似命令"./a.out <data.txt"
- 可以在windows中运行.out文件吗
- 编译器g++不能创建a.out文件
- 读/写同一个文件(获取gmon.out)
- 将打开的文件的ios_base从'out'更改为'app'而不关闭文件
- 如何在unix环境中使用.in和.out文件进行测试
- 为什么编译文件时文件名为"a.out" C++?