gpt4 book ai didi

c++ - 为什么 clang++ 无法在 Mavericks 下的 Mac 上编译,除了 sudo?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:07:16 24 4
gpt4 key购买 nike

在我的 mac 上进行了最新的软件更新后,我无法在没有 sudo 的情况下编译和链接 c++ hello world 程序。

程序(helloworld.cpp):

#include <iostream>

int main(){
std::cout << "hello world\n";
return 0;
}

调用:

clang++ helloworld.cpp

因错误而失败:

ld: can't write output file: a.out for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

但如果我在 sudo 下执行此操作,

sudo clang++ helloworld.cpp

没问题。

可能是什么原因造成的,我该如何解决?


再次编辑:结果证明答案不是工作目录权限,正如几个人所建议的那样,而是与我的 hello world 程序的输出文件 a.out 关联的权限.感谢 Petesh 的解决方案。

最佳答案

最有可能的答案是,当您当前的工作目录不是您有权写入的目录时,您正在运行 clang++。

尝试确保该目录由您拥有/可写,运行例如:

sudo chown -R `whoami` .

(请注意,这可能不合适,具体取决于您所在的目录)。

在某些情况下,这发生在之前不需要的项目中的 OSX 更新/升级之后。

关于c++ - 为什么 clang++ 无法在 Mavericks 下的 Mac 上编译,除了 sudo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26352622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com