/usr/bin/ld: cannot open output file bitAnd: Permission denied collect2: error: ld returned 1 exit status
时间: 2023-11-26 16:46:51 浏览: 52
/usr/bin/ld: cannot open output file bitAnd: Permission denied collect2: error: ld returned 1 exit status是由于没有权限在当前目录下创建文件导致的。可能是因为当前用户没有写入该目录的权限,或者该目录被设置为只读。您可以尝试以下方法解决该问题:
1.使用sudo命令以管理员身份运行程序,例如:
```shell
sudo ./bitAnd
```
2.更改当前目录的权限,使当前用户可以写入该目录,例如:
```shell
chmod u+w .
```
3.将程序输出到其他目录,例如:
```shell
gcc -o /tmp/bitAnd bitAnd.c
```
相关问题
usr/bin/ld: cannot open output file ../Stereo: 是一个目录 collect2: error: ld returned 1 exit status
这个错误提示是由于ld链接器无法打开输出文件../Stereo,因为该路径指向的是一个目录而不是一个文件。ld链接器用于将多个目标文件和库文件链接成一个可执行文件。在这种情况下,ld无法将输出文件写入到指定的目录中。
可能的原因是您在编译或链接过程中指定了错误的输出路径。请确保您指定的输出路径是一个有效的文件路径,而不是一个目录路径。
如果您想将输出文件保存到../Stereo目录中,您需要先创建该目录,然后再进行编译和链接操作。您可以使用以下命令创建目录:
mkdir ../Stereo
然后,您可以重新运行编译和链接命令,确保指定的输出路径是一个文件路径而不是目录路径。
/usr/bin/ld: cannot find -lmylib collect2: error: ld returned 1 exit status
引用[1]:在Ubuntu16.04安装honggfuzz时遇到报错: /usr/bin/ld: cannot find -llzma collect2: error: ld returned 1 exit status。你可以尝试安装lzma的依赖包来解决这个问题。首先,安装liblzma-dev依赖包,可以使用以下命令:sudo apt-get install liblzma-dev。然后,运行sudo ldconfig命令来更新ld配置文件。如果你需要安装其他软件,记得重新运行sudo ldconfig命令来更新配置文件。这样应该能解决/usr/bin/ld: cannot find -llzma的报错。[3]
问题:/usr/bin/ld: cannot find -lmylib collect2: error: ld returned 1 exit status
回答: 这个错误提示表明ld无法找到名为lmylib的库文件。要解决这个问题,你需要确保你已经正确安装了lmylib库文件,并且该库文件的路径已经正确配置。你可以尝试使用ldconfig命令来更新ld配置文件,确保库文件的路径被正确添加。如果问题仍然存在,你可能需要检查库文件的命名是否正确,并确保它在正确的位置。