"_Z9qBadAllocv could not be located in the dynamic link library QtCore4.dll"



  • _"The procedure entry point Z9qBadAllocv could not be located in the dynamic link library QtCore4.dll"

    The only files inside \Release:

    -- fetchmore.exe [dynamically compiled with no errors]
    -- libgcc_s_dw2-1.dll
    -- mingwm10.dll
    -- QtCore4.dll

    Only 27 references to this on Google. I'm running Windows 7 Professional on a new ThinkPad. These kinds of problems (not this one in particular) are also not new--while I've never had problems creating Releases for Windows in Qt3, I've never had any successes doing the same in Qt4.

    Thanks for any assistance.



  • The application runs fine when you run it form Creator? i talk about the Run button (the green one)
    If it does, then you need to make sure that you copy the right dll's.
    For the 2010.05 SDK the path is: C:\Qt\2010.05\qt\bin and the dll's from C:\Qt\2010.05\bin (without qt) don't work (are only used by Creator)
    For the Beta SDK the path is: C:\QtSDK\Desktop\Qt\4.7.2\mingw\bin



  • According to c++filt _Z9qBadAllocv = qBadAlloc()



  • A solution to this problem was proposed in "this thread":http://developer.qt.nokia.com/forums/viewthread/348



  • Volker, thank for replying to my post. The solution you reference has someone replying:

    _Just for the reference – that should be “make distclean”

    You compiled your application against a Qt version that was built with exception support, but then try to partially link it again against a Qt version without exception support.

    When you switch Qt versions like that, you should always run “make clean” to do a clean build._

    But I don't know where I would write that. I'm just compiling the dynamically linked thing on Qt Creator's drop down menu at the top of the screen that says "Build All" or "Build Project 'fetchmore'" or occasionally I'll run "Clean All" before trying either of that.

    If someone is recommending that I run a "make distclean" or a "make clean," I don't know where the drop down is for that.

    (In the interim I'll try what Zlatomir has proposed. Thank you all for responding.)



  • "clean all" in the menu issues a make clean behind the scenes, so you were on the right path.

    Zlatomir is right, though - you must provide all the needed libs/DLLs



  • I´m sorry for open this old conversation again but I´m hanging on the same problem and I don´t know how do i solve this problem.

    I´m a very newby in Qt. Where do I have to type in "clean all" or "make clean"?

    A german solution would be perfect if you Guys are german. ;-)



  • Right click on your project in QtCreator (in the project tree list, where you see files of your project)
    And there, click on the clean item of the popupmenu.



  • I did it, but it does not solve my problem. :-(



  • To begin with, where did you copy these dll files from? Be aware that the dll files used by Qt Creator are NOT the one you executable is linked against! One simple way to check it is the fact that Qt-dll files of Qt Creator are 4.7.4 version, and the proper Qt-dll you link against (reside in another folder) are 4.7.3 version. ;-)

    However, you should not copy the dll files in the Release folder! :-)



  • I didn´t copy any dll file.
    Do I have to copy dll files into the project folder?



  • No you do not! I made the hypothesis that you followed EXACTLY the approach of the initial poster!

    So your problem is when you run the executable from within Qt Creator (e.g.: by pressing the "Play" button?).

    Try this: if your project is named XYZ, do you see a folder named XYZ-build-release (if you build release) or XYZ-build-debug? If yes, delete this folder and try again! ;-)



  • hmm, so from beginning: :-D

    I installed Qtcreator on my Windows Pc.

    After this I watched this youtube Video:
    http://www.youtube.com/watch?v=QLT7oEt6gLE&feature=player_profilepage

    I did exactly the same like in this Video.

    When I press the green button in QtCreator it works fine.

    The I opened the Folder "...\interactiveHelloWord-build-desktop\debug"
    and found the "interactiveHelloWord.exe".
    when I start these .exe file I get an Error-Message wich says "_Z9qBadAllocv" was not found in DLL "QtCore4.dll"

    In German the message says: "Der Prozedureinsprungspunkt "_Z9qBadAllocv" wurde in der DLL "QtCore4.dll" nicht gefunden.



  • I make the hypothesis that PATH in your machine is pointing at the wrong dll files!



  • That could be possible but where do I check and change it?



  • To begin with, open a command prompt (Start-->Run-->type cmd and enter) and give the command

    path



  • In command promt the path is "C:\Users\Der Lars"



  • You need to add to the current path the location of Qt-dll files (the development ones!).



  • I think you missunderstood Stavros Filippidis, please execute the command path in your command prompt and paste here the result.

    exemple :
    @C:>path
    PATH=c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE;c:\Program Files...@



  • [quote author="redkite" date="1311077608"]I think you missunderstood Stavros Filippidis, please execute the command path in your command prompt and paste here the result.

    exemple :
    @C:>path
    PATH=c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE;c:\Program Files...@[/quote]

    Yes, your hypothesis makes sense! :-)



  • Microsoft Windows [Version 6.0.6001]
    Copyright (c) 2006 Microsoft Corporation. Alle Rechte vorbehalten.

    C:\Users\Der Lars>path
    PATH=C:\msys\bin;C:\MinGW\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32
    \Wbem;C:\Program Files\CyberLink\Power2Go;C:\Windows\System32\WindowsPowerShell
    v1.0;C:\Boost\lib;C:\Qt\4.5\bin

    C:\Users\Der Lars>

    Was it correct?



  • bq. Was it correct?

    Yes, thank you.

    Normally, your problem is that your executable is looking after QtCore.dll and QtGui.dll (may be more) and it is finding wrong one in C:\Qt\4.5\bin (the last item in your path list).

    You can try to launch your application after you have added C:\Qt\4.5\lib at the beginning of your PATH. (help for updating your PATH variable : "How to":http://www.computerhope.com/issues/ch000549.htm)

    Have you several Qt version installed on your computer? If so, which one are you using for building your app in QtCreator? (you can check it by opening your project in QtCreator and click on "Project" in the left area)



  • I changed C:\Qt\4.5\bin to C:\Qt\4.5\lib.

    But it doesn´t help. :-(

    Yesterday I downloadet my Version of Qtcreator. So I hope it is the newest. ;-)
    It is Qt 4.7.3



  • If you compile with Qt 4.7.3, you also have to use the dlls of 4.7.3.



  • But where do I find the dll´s of 4.7.3? ;-)

    oh I found this directory on my pc. "C:\QtSDK\Desktop\Qt\4.7.3\mingw\bin"



  • [quote author="Gerolf" date="1311079790"]If you compile with Qt 4.7.3, you also have to use the dlls of 4.7.3.[/quote]

    Yes, of course. Try to find where is located your new 4.7.3 dll and add the path to their folder in your PATH. You must put it before any 4.5.3 folders, otherwise your application will try to launch will olds dll ...



  • [quote author="hahi-x" date="1311080087"]But where do I find the dll´s of 4.7.3? ;-)
    [/quote]

    Search into your c:\Qt folder, is there a SDK folder or anything? you can search QtCore4.dll using your search file from Windows, and you will see where are all your dll folders



  • Woow, it works. :-D

    I changed the directory "C:\Qt\4.5\lib" to "C:\QtSDK\Desktop\Qt\4.7.3\mingw\bin".

    :-D Oh I´m so happy :-D

    Thank´s to everyone and have a nice day. :-)



  • You're welcome ;-)



  • [quote author="Stavros Filippidis" date="1311073454"]To begin with, where did you copy these dll files from? Be aware that the dll files used by Qt Creator are NOT the one you executable is linked against! One simple way to check it is the fact that Qt-dll files of Qt Creator are 4.7.4 version, and the proper Qt-dll you link against (reside in another folder) are 4.7.3 version. ;-)

    However, you should not copy the dll files in the Release folder! :-)[/quote]

    So, it was what I told @hahi-x 2 hours ago in the quoted text! ;-)

    You should know that Qt-dll files in folder C:\QtSDK\QtCreator\bin are for use from Qt Creator! I suppose this is why their version is higher (4.7.4)! The Qt-dll files that YOUR (desktop) executable is meant to link against are in the folder C:\QtSDK\Desktop\Qt\4.7.3\mingw\bin (and their version is 4.7.3). :-)



  • The easiest way would be put the correct dlls directly beside your executable and it should always work, regardeless of the path variable...



  • [quote author="Gerolf" date="1311089904"]The easiest way would be put the correct dlls directly beside your executable and it should always work, regardeless of the path variable...[/quote]

    and, most important thing, if you put dlls in your executable directory you are ready to distribute your application: if you send only your .exe to someone else, he will have the same problem; instead, if you distribute the whole directory with dll files, everything will work without having to install or set anything.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.