【发布时间】:2011-11-30 06:34:09
【问题描述】:
我在让我的 app bundle 从终端运行或只是双击它时遇到了一点问题。
这个应用程序实际上可以在 Qt Creator IDE 中完美地编译、链接和运行。但是,如果我尝试从终端打开它,我会收到“找不到 media/file.x 文件”错误。应用程序包和 /Contents/MacOS/executable 都在寻找应该在可执行文件旁边的“媒体”文件夹。
在我的应用程序中,我执行以下操作:
openFile("media/file.x");
在 Windows 和 Linux 中,如果“media”文件夹与可执行文件的层级位置完全相同(在它旁边),则会找到此文件。在 Mac 上,我发现它的工作方式不同,因为 Qt Creator 构建了一个“App Bundle”,而实际的可执行文件位于 /Contents/MacOS 文件夹中,所以我在那里手动复制了“媒体”。当从 Qt Creator “播放”我的应用程序时,这很容易,但如前所述,它在运行包本身时不起作用。
那么有谁知道我在哪里或如何使这个“媒体”文件夹的外观同质化,以便它同时适用于:Qt Creator 和 App 包?
最近,我一直在使用以下命令来“安装”捆绑包上的文件夹。
mac {
MediaFiles.files = media
MediaFiles.path = Contents/MacOS
QMAKE_BUNDLE_DATA += MediaFiles
}
感谢您的帮助。
【问题讨论】:
标签: macos qt bundle qt-creator