通过 ./binfile 执行的 bin 文件和“常规”bins 之间的区别?

bit*_*ker 1 executable bin

make在 Ubuntu 上构建了一个 C 程序。生成的 bin 文件可以通过./binfilename但不能仅通过在它构建的目录中执行来执行。我如何将其“转换”为可以复制到的 bin 文件,/usr/bin以便我可以在“系统范围内”执行它,或者这是否需要不同的构建过程?

Bra*_*ram 5

这不是因为二进制文件之间存在差异,而是因为二进制文件所在的目录不在您的PATH.

在 Windows 上,当前目录始终是您的PATH. 然而,这并不安全(想象一下有人在某个目录中放置了rmnamed的副本ls)。

因此,您需要将二进制文件放在PATH(请参阅echo $PATH)中的目录之一中,或者必须将该特定目录添加到 yuor PATH。例如通过添加类似的东西

PATH="$PATH:/home//bin"

到您的~/.bash_rc.