我正在制作一个存储缓存和设置文件的(qt)跨平台应用程序。经过大量搜索,我仍然没有找到存储它们的方式和位置。请注意,我只想在我会重新发明轮子或节省大量时间的情况下使用 QT 的东西;我希望绝对控制应用程序的行为,而 qt 有时相当随机或效率低下。
对于 linux,默认值为 /etc//,但那里没有写访问权限,我的应用程序会将更改写入它的配置文件。对于缓存,这将是 /var//,但默认情况下也没有写访问权限。设置和缓存最好是用户独立的,因为它是服务器软件。
我已经想到了几种解决方案,但它们似乎不是很优雅:
- 让安装程序创建具有正确权限的目录(这意味着我将需要一个安装程序...... bleh)
- 将其全部存储在用户的主目录中,失去用户独立性
- 让QT处理(我真的不喜欢这个)
有任何想法吗?什么是最佳做法?这些东西在 windows 和 mac 上去哪里了?
一些澄清: 它是一个服务器应用程序,应该独立于单个用户运行,因此根本不希望在 /home 中存储任何内容。它也没有使用 QT 的任何 gui 功能,服务器将由设置文件或通过 IP 与服务器通信的单独 GUI 管理。