我正在开发C++应用程序,以便在不同的操作系统上进行分发。他们中的很多人都有一些在启动时读取的xml配置文件,即'my_app_config.cfg'。在OSX上构建的应用程序无法找到配置文件
在代码中,我使用Qt的文件对话框对象来访问文件,我使用boost/property_tree/xml_parser.hpp来执行xml解析。非常简单直接的东西,非常简单的xml文件。
在Windows和Linux上,这工作正常,但是当我在Mac上创建应用程序时,如果文件无法打开,它总是会抛出“我无法读取配置文件:”消息,这是我在代码中写入的。
奇怪的是,这只发生在我启动时调用我的load_config()
函数 - 即在规范的Qt构造函数中,MainWindow::MainWindow(...)
。我可以在启动后使用我的菜单项调用相同的load_config()
函数加载配置文件。
我想也许我应该把配置文件放在应用程序的Contents/MacOS文件夹中,但实际的二进制文件无效,但这也不起作用(另外我不希望配置文件对用户不可见)。
这样的事情让我在晚上保持清醒。
为什么这会被拒绝?这是一个很好的问题。 – dmedine 2015-04-04 00:11:59