我正在開發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