rwa*_*ace 6 unix linux installer configuration
我知道在Linux/UNIX上安装C++命令行程序时,通常不会将其保留在原始目录中,而是将其移动到路径上已有的目录,因此我有一个make install条目:
mv ayane /usr/local/bin
Run Code Online (Sandbox Code Playgroud)
展望未来,我将最终得到一个目录或两个完整的配置,数据和脚本文件,程序需要读取,一些在启动时,一些稍后按需,在某些情况下随后修改和再次保存.
这导致了程序如何知道其数据文件所在位置的问题.在我的Ubuntu Linux虚拟机上查看/ bin,它似乎不仅仅包含二进制文件,因此数据文件通常不与程序放在同一目录中.
将数据文件放在程序可以知道的位置的常用解决方案是什么?
有一些文件系统标准,阅读FHS或类似的东西(注意文件系统布局有不同的方法).
基本上,您将可执行二进制文件放入$prefix/bin/,每个主机配置进入$prefix/etc/,每个用户进入用户的主目录,与arch无关的静态数据进入$prefix/share,与arch相关的数据和库进入$prefix/lib,并且可变数据通常进入/var/lib/.
最好在编译时和运行时配置这些东西.而且,这也是习惯不写Makefiles与install手的目标,你可能想看看在autotools浴室或类似(口味的问题).