我正在用c ++编写一组程序,我希望将它们部署到许多机器上并分发给其他开发人员进行测试。如何在配置文件中指定文件路径,如何在cron作业,命令行,示例api等中指定配置文件的位置?
我的意思是,我应该为我的应用程序使用ROOT_DIR并始终指定相对于此目录的文件路径吗?标准做法是什么?
我可以使用autoconf的configure脚本在我的应用程序配置文件中编写ROOT_DIR,还是应该统计配置文件以找到它在机器中的位置?感谢。
答案 0 :(得分:0)
对于Autoconf,我相信您通常使用--prefix
选项将应用程序安装到非默认位置。默认值是系统范围的。
以下是一些Autoconf documentation。
这样,用户可以决定他们是想要系统范围还是特定用户(或其他)。
您可能希望使用操作系统提供的软件包管理器。例如,在Debian上你可能想要制作一个deb
包 - 其他系统默认使用不同的包管理器。这有助于解决应用程序的依赖关系。
例如:如果您的应用程序需要库Foo的X.Y版本,则软件包管理员可以在安装软件包之前确保您的用户具有该版本。
您还可以查看已经存在一段时间的RPM Package Manager。
简而言之:没有一个答案。 Linux中的常见转义(:
答案 1 :(得分:0)
What is the standard practice?
您可能需要查看Filesystem Hierarchy Standard以澄清您对应安装位置的想法。听起来你可能想要在/var/lib
而不是HOME_DIR中安装一些东西,但是如果没有更多细节则很难说清楚。