gpt4 book ai didi

c++ - 使用 Qt 显示 JPG 图像不适用于发布可执行文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:30:27 24 4
gpt4 key购买 nike

我在用 qt 显示 jpg 图像时遇到了一个恼人的问题。我在 Windows 7 中使用 Visual Studio 2008 开发并使用 Qt 4.8.2 版。我现在将通过 Qt 提供的“collidingmice”示例 (../examples/graphicsview/collidingmice) 来描述我的问题。

我可以通过 Visual Studio IDE 或通过 Visual Studio 命令提示符构建此示例。在此示例中,一个 jpg 用作背景,并在我执行调试可执行文件时正确显示。但在发布版本中,此背景 jpg 未显示。

我已经意识到,Qt 使用插件来加载/显示不同的图像。因此,我将Qt插件文件夹的内容复制到应用程序目录(collidingmice.exe所在的位置)。不幸的是,这并不能解决问题。

因此,我认为 Qt 构建和 jpeg 库一定有问题。因此,我通过在 Visual Studio 命令提示符下执行以下命令来重新配置 Qt:

nmake distclean
configure -debug-and-release -opensource -platform win32-msvc2008 -qt-libjpeg -no-webkit
nmake

之后重建了示例,但 jpg 图像还是没有显示。我不确定问题出在哪里,因为它在调试版本和发布版本中都有效,我想我只需要提供所需的插件 DLL。但显然我是不对的。

我希望任何人都可以帮助我,或者可以给我一些提示,说明问题出在哪里。谢谢!

最佳答案

Therefore I copied the contents of the plugin folder of Qt into the application directory (where collidingmice.exe is).

您需要将插件放入“imageformats”子目录中,例如喜欢

bin
├── collidingmice.exe
└── imageformats
├── qjpeg4.dll
├ ...

另见 http://www.qtcentre.org/threads/46927-Location-of-imageformats-directory


原来OP已经设置好了目录结构。根本原因是加载了错误的 QtGui4.dll。这可以通过将 DLL 直接复制到应用程序目录或通过更改 PATH 环境变量中的路径顺序来修复,以便您的 Qt bin 目录位于包含 QtGui4.dll 的所有其他路径的前面。 "

无论如何,Process Monitor是追踪此类问题的好工具。

关于c++ - 使用 Qt 显示 JPG 图像不适用于发布可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12800346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com