我正在用 C++ 编写一组程序,我想将其部署到多台机器上并分发给其他开发人员进行测试。如何在配置文件中指定文件路径以及如何在 cron 作业、命令行、示例 api 等中指定配置文件的位置?
我的意思是,我应该为我的应用程序使用 ROOT_DIR 并始终指定相对于该目录的文件路径吗?标准做法是什么?
我可以使用 autoconf 的配置脚本在我的应用程序配置文件中写入 ROOT_DIR 还是我应该统计配置文件以找到它在机器中的位置?谢谢。
最佳答案
对于 Autoconf,我相信您通常使用 --prefix
选项将应用程序安装到非默认位置。默认是系统范围的。
这是一些 Autoconf documentation .
这样,用户就可以决定他们是想要系统范围的还是特定于用户的(或其他)。
您可能想要使用操作系统提供的包管理器。例如,在 Debian 上你可能想要制作一个 deb
包——其他系统默认使用不同的包管理器。这将有助于解决您的应用程序的依赖关系。
例如:如果您的应用程序需要库 Foo 的 X.Y 版本,包管理器可以确保您的用户在安装您的包之前拥有该版本。
您还可以查看 RPM Package Manager ,已经存在了一段时间。
简而言之:没有一个答案。 Linux 中的常见比喻 (:
关于linux - 配置文件中的文件名应该使用绝对路径还是相对路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9073213/