g++ -Wall -fexceptions -g -c /home/wnw2105040105/桌面/myos/2-1/main.cpp -o obj/Debug/main.o g++ -o bin/Debug/2-1 obj/Debug/main.o /usr/bin/ld: 找不到 obj/Debug/main.o: 没有那个文件或目录 collect2: error: ld returned 1 exit status
时间: 2023-08-13 15:08:57 浏览: 108
这个错误提示是说编译器找不到 `obj/Debug/main.o` 这个文件或目录,可能是编译器在链接的时候没有找到这个文件导致的。你可以检查一下以下几个问题:
1. 确认 `main.cpp` 文件是否存在,是否路径正确。
2. 确认编译器是否有创建 `obj/Debug` 目录的权限,或者手动创建一下这个目录。
3. 确认编译器是否有读取 `main.cpp` 文件的权限,或者修改一下文件权限。
4. 确认编译器是否有写入 `obj/Debug/main.o` 文件的权限,或者修改一下文件权限。
如果以上问题都已经检查过了,还是出现这个错误,可以尝试重新编译整个程序,或者使用其他编译器进行编译。
相关问题
g++ -Wall -fexceptions -g -c /home/wnw2105040105/桌面/myos/2-1/main.cpp -o obj/Debug/main.o g++ -o bin/Debug/2-1 obj/Debug/main.o /bin/sh: 1: g++: not found
根据你提供的信息,这个错误提示显示在编译代码时,可能是因为你的电脑上没有安装 g++ 编译器。你可以通过以下方式来安装 g++:
1. 在终端中输入以下命令,以更新软件包列表:
```
sudo apt-get update
```
2. 安装 g++ 编译器:
```
sudo apt-get install g++
```
3. 等待安装完成后,再次编译代码即可。
如果还有其他问题,请继续提出。
4 | main() | ^~~~ /home/wnw2105040105/myos/2-1/main.cpp: In function ‘int main()’: /home/wnw2105040105/myos/2-1/main.cpp:7:18: error: ‘time’ was not declared in this scope; did you mean ‘time_t’? 7 | srand((unsigned)time(NULL)); | ^~~~ | time_t /home/wnw2105040105/myos/2-1/main.cpp:8:11: error: ‘fork’ was not declared in this scope 8 | while((x=fork())==-1); | ^~~~ /home/wnw2105040105/myos/2-1/main.cpp:11:1: error: ‘sleep’ was not declared in this scope 11 | sleep(rand() % 2); | ^~~~~ /home/wnw2105040105/myos/2-1/main.cpp:16:1: error: ‘sleep’ was not declared in this scope 16 | sleep(rand() % 3); | ^~~~~
这是一个编译错误,错误信息是 time、fork 和 sleep 函数未被声明。这可能是因为缺少相应的头文件。你可以尝试在代码中加入以下头文件:
```
#include <cstdlib>
#include <ctime>
#include <unistd.h>
```
其中,`<cstdlib>` 包含了 `srand()` 和 `rand()` 函数,`<ctime>` 包含了 `time()` 函数,而 `<unistd.h>` 包含了 `fork()` 和 `sleep()` 函数。加入这些头文件后,这些函数应该能够被正确地调用。
阅读全文