我正在用c++编写一组程序,我希望将它们部署到多台机器上,并分发给其他开发人员进行测试。如何在配置文件中指定文件路径,如何在cron作业、命令行、示例api等中指定配置文件的位置?
我的意思是,我应该为我的应用程序使用ROOT_DIR,并且总是指定相对于这个目录的文件路径吗?标准实践是什么?
我可以使用autoconf的配置脚本在我的应用程序配置文件中写入ROOT_DIR吗?或者我是否应该统计配置文件以找到它在机器中的位置?谢谢。
发布于 2012-01-31 09:39:25
对于Autoconf,我相信您通常会使用--prefix选项将应用程序安装到非默认位置。默认值为系统范围。
这是一些Autoconf documentation。
这样,用户就可以决定他们是想要系统范围的,还是用户特定的(或其他东西)。
您可能希望使用操作系统提供的包管理器。例如,在Debian上,你可能想创建一个deb包--其他系统默认使用不同的包管理器。这将有助于解决应用程序的依赖关系。
例如:如果您的应用程序需要库Foo的X.Y版本,包管理器可以在安装您的包之前确保您的用户具有该版本。
你也可以看看RPM Package Manager,它已经存在了一段时间了。
简而言之:没有一个答案。Linux中常见的比喻(:
发布于 2012-01-31 10:13:24
What is the standard practice?您可能希望查看Filesystem Hierarchy Standard,以澄清您的想法,即应该将这些内容安装在哪里。听起来你可能想要在/var/lib中安装一些东西,而不是HOME_DIR,但是如果没有更多的细节,很难判断。
https://stackoverflow.com/questions/9073213
复制相似问题