Resources not accessible when running outside of qtcreator [SOLVED / Problem related to unsopported image file formats]
-
wrote on 22 Apr 2011, 08:04 last edited by
Qt 4.7.0 / Win32 / mingw
Hello, I have this application opening several images files that are stored inside a resouce file, through the simple QImage::load method.
When executing this from within qtcreator IDE, this application works smoothly. The files are accessed with ":/somedir1/filename.ext"
But, when I start the application outside of qtcreator, by double clicking on the .exe file, it reports that some of my resources files can not be accessed. The WEIRD thing is that it depends on the PC I try to run the application on, it's working smoothly on two PC, but not on the third I tested. Do you see any reasons why?
Thank you,
Bill -
wrote on 22 Apr 2011, 08:48 last edited by
Could be that the image format plug-ins are not found in the stand alone case. Search the forum on that, it has already many discussions on that.
-
wrote on 22 Apr 2011, 08:49 last edited by
Do you have resources embedded into your binary? Or you have them as external files that you load on run-time?
-
wrote on 22 Apr 2011, 10:24 last edited by
I guess they are embedded in the binary, I have done nothing specific. The qrc files are listed in the .pro file.
-
wrote on 22 Apr 2011, 11:53 last edited by
Then they are embedded. Now, what could happen, is that the image format plug-ins are not available. They are needed. see "this thread.":http://developer.qt.nokia.com/forums/viewthread/4440/
-
wrote on 22 Apr 2011, 11:57 last edited by
Thank you, I am having a look now!
-
wrote on 22 Apr 2011, 11:58 last edited by
Yep, I'm agreed with Gerolf. Looks like plugins are not available.
-
wrote on 22 Apr 2011, 12:09 last edited by
Thank you both, gonna try this afternoon or maybe in one week, and will let you know,
Bill
-
wrote on 27 Apr 2011, 11:30 last edited by
We can lock this thread, the whole thing it working when copying the image decoding dll in the output directory. Thank you for the hint. I guess it is possible to simply link this library statically then? If you know how, I am interested!
Thanks,
Bill -
wrote on 27 Apr 2011, 11:48 last edited by
if you want to link the plugins statically, you need a static Qt build. otherwise they need to be put to the correct folders and will then be loaded dynamically by Qt itself.
-
wrote on 27 Apr 2011, 12:01 last edited by
Static linking is suboptimal when plugins enter the game. I recommend that you create an installer for windows (eg. with InnoSetup or some of its also free alternatives).
-
wrote on 27 Apr 2011, 12:06 last edited by
Thank you both,
Bill
1/12