Ubuntu:如何链接二进制文件

14

我有一份C++代码,我编译它得到了二进制文件xyz。现在每次我需要执行该二进制文件时,我都需要切换到相应的目录并使用./xyz来执行它。但是如何使用命令xyz从任何地方运行这个二进制文件呢?在Ubuntu中该如何将该二进制文件链接到一个命令上?我目前使用的是Ubuntu 10.10。

2个回答

30
Ubuntu会将PATH环境变量设置为包括~/bin。因此,使xyz在任何地方可执行的最简单方法是将xyz移动到~/bin,或者创建一个从~/bin指向xyz所在目录的符号链接:
ln -s /path/to/xyz/directory/ ~/bin

或者,你可以/path/to/xyz/directory/ 添加到你的 PATH 环境变量中


谢谢。我通过添加到PATH变量来完成它。 - Vivek

1

问题在于Ubuntu不知道在哪里查找二进制文件xyz。

您需要将路径添加到您的shell配置文件中(它会告诉您的shell在哪里查找像xyz这样的程序),或者将xyz添加到已包含在您的路径中的目录中。

例如,/usr/bin是通常存储二进制文件的地方之一。但是,我不完全确定安装新二进制文件的普遍接受位置是什么(/usr/bin可能通常保留用于系统二进制文件)。

Ubuntu默认使用bash shell。在您的主目录(〜)中,您可以检查/编辑您的.profile文件,并编辑或查看添加到您的PATH变量中的目录。


是的,你说得对。但是你知道如何将路径添加到我的二进制文件xyz吗? - Vivek
我可能误解了你的问题。你想要运行“xyz”,而不必先cd到该目录并使用“./xyz”来执行,是这样吗? - Poff
是的,没错。我找到了。我执行了 export PATH=$PATH:/xyz_location 现在它可以工作了。谢谢Poff。 - Vivek
/usr/local/bin/ 是安装本地编译二进制文件以供系统范围使用的正确位置。对于单个用户,可以使用 $HOME/bin - caf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接