[SOLVED] Qt 5.0.2 apps needing "icuuc49.dll"
-
Hi guys. I'd thought I asked here since I couldn't seem to find a solution anywhere else as this is prevalent only with Qt 5.0.2.
So, I've set my environment paths to Qt's bin and MinGW's bin directories:
@
C:\Qt\Qt5.0.2\5.0.2\mingw47_32\bin;C:\Qt\Qt5.0.2\Tools\MinGW\bin;
@I could run my Qt programs in Qt Creator, but when I open the file in windows explorer it pops this error.
!https://lh6.googleusercontent.com/-tNR0LKjX1jg/UYC3n0V50eI/AAAAAAAABQM/85MLQsZNUTs/w518-h217/release_2013-05-01_14-34-09.png(icuuc49 error)!
Only when I placed "icuuc49.dll" in the executable's directory did it worked. Why is this so? icuuc49.dll is obviously in the Qt bin directory! Is there any proper fix for this? I don't want to need to keep placing this dynamic library every time I compile up an application.
windows 7 32bit
-
That error means your app DID find a copy of icuuc49.dll. The problem is, it found the wrong version.
Are there multiple versions of icuuc49.dll in your environment?
-
You can check the folder of the loaded dll with "dependency walker.":http://www.dependencywalker.com/
There is also a "wiki":http://qt-project.org/wiki/Show_library_dependencies#aea23489ce3aa9b6406ebb28e0cda430 giving a bit more details. -
JKSH, how did you figure that out? That's real cool bro.
So it turns out I have an environment path to Miktex2.9:
D:\Program Files\MiKTeX 2.9\miktex\bin
and inside that folder there is also a "icuuc49.dll", and that in Qt5.0.2 the apps produced can't use the icuuc49.dll from Miktex2.9.
The solution, was simply to remove MikTeX from the environment paths. Viola! Problem solved! Thanks!
Koahnig: thanks for introducing dependency walker!
-
@bruceoutdoors
You're welcome! It's from the experience of making the same mistakes myself before :D When you write software long enough, weird error messages start becoming easy to understand.Also, it's useful to search your error messages. If you type "could not be located in the dynamic link library" "into Google":https://www.google.com/search?q="could+not+be+located+in+the+dynamic+link+library", the first result takes you to a "discussion of the same issue":http://stackoverflow.com/questions/1578950/the-procedure-entry-point-could-not-be-located-in-the-dynamic-link-library-core, where other people have figured out the solution too.