3

我正在部署一个用 Qt + OpenGL 编写的应用程序,它是用 Visual Studio 2008 for windows 7 编写的。

在客户端机器上,应用程序中不播放音频,也不显示图像。我保持非常简单。图像和音频文件没有不同的文件夹,所有内容都位于 .exe 附近 在我的代码中,我访问了这些文件,例如

QPixmap pixmap("closeButton.jpg");

现在有趣的是它在我的电脑上“完美”地工作。所以我没有找到问题所在

我尝试了从 /Release 到 /myProject 的输出目录,其中存在所有源文件以及图像和音频文件。同样,它适用于我的计算机,但不适用于客户端。

由于我无法在我的机器上产生类似的问题,因此很难解决这个问题。有没有好的解决方案?

4

3 回答 3

4

行。现在问题解决了。我实际上缺少两个 dll,每个 dll 用于来自的音频和图像

Qt\Version\Plugins\ 目录。Dependency walker 不显示插件依赖项。

还参考第一个答案的评论,Qt 资源实际上包含在二进制文件中。看这里

谢谢你们的帮助。

于 2013-04-03T05:07:10.673 回答
1

您非常需要将音频/图像和任何其他外部文件作为资源添加到项目中。

例如,我编写了一个将图像加载到QImage小部件中的代码。我的资源文件的属性是:

在此处输入图像描述

稍后在代码中,我将文件称为:

QImage tmp(":/mario-block.png");

该交易的另一个重要部分是验证资源是否已正确加载,因此在这种情况下,我还添加了以下行:

if (tmp.isNull())
{
    std::cout << "!!! Failed to load image #1" << std::endl;
    return;
}
于 2013-03-31T19:45:42.183 回答
0

您是否确认您的图像和音频文件包含在安装包中?如果您访问这些文件,您是否使用了正确的路径?

于 2013-03-31T19:44:36.657 回答