在GNU / Linux系统上,应该从哪里加载应用程序数据?

在这种情况下,我将c与autoconf一起使用,但该问题在其他地方也适用.

我有一个运行时需要的Glade xml文件,我必须告诉应用程序它在哪里.我正在使用autoconf在代码中定义一个变量,该变量指向“指定的前缀目录” / app-name / glade.但这只有在安装了应用程序后才开始起作用.如果要在此之前运行程序怎么办?是否存在确定应检查应用程序数据的路径的标准方法?

谢谢

感谢您的答复.为了澄清,我不需要知道应用程序数据的安装位置(例如,通过在/ usr,usr / local等中搜索),configure脚本可以做到这一点.问题更多是在于确定该应用程序是否已安装.我想我只会先检查安装位置,如果没有,那么再检查“ ./src/foo.glade”.

解决方法:

我不认为如何找到此类数据的标准方法.

我本人会以某种方式进行操作,即拥有一个路径列表,并确定是否可以从任何路径中找到文件,并且该列表应包含从autoconf和CURRENTDIRECTORY POSSIBLE_PREFIX定义的DATADIR APPNAME,其中前缀可能从您的构建根目录开始.

但是无论如何,请不要忘记使用autoconf中的那些定义作为数据文件,这些定义使您的软件更易于打包(例如deb / rpm)

上一篇:安装linux下强大的文件工具fsearch,与windows下Everything类似


下一篇:Leetcode--Java--368. 最大整除子集