Jack M
Jack M

Reputation: 6015

Why does Qt's version of libstdc++-6.dll work, but not MinGW?

I'm very new to C, Netbeans, Qt, and any linking more complicated than import antigravity. I'm getting confused trying to setup Netbeans for Qt. I'm on Windows 7.

I installed MinGW, and then separately installed the Qt SDK. When I installed the latter, I opted out of MinGW, since I already had that. I think I have all the paths set up correctly in Netbeans - I can build a basic Qt app.

When I try to run the app, I get this error:

enter image description here*

I have two copies of that DLL on my PATH: the one that came with MinGW, and the one that came with Qt. When I copy paste the MinGW one into the app folder and run the app, I get the above error. When I copy paste the Qt one into the folder, no errors.

So there's a difference between the Qt DLL and the MinGW one. This is very unsetlling to me. What is this DLL, why is it in my Qt install if I chose not to include MinGW, and why is it different from the one in my MinGW install? Should I just rip MinGW and Qt out of my system and reinstall a fresh Qt SDK with the included MinGW? I want to do other kinds of C programming than just Qt, so it felt "right" to me to have separate MinGW install.

Upvotes: 0

Views: 602

Answers (1)

Jay
Jay

Reputation: 14471

What's happening:

It's finding the DLL but cannot find the requested object within that DLL. The mingw library probably has different content than the stdlib library. You have a mismatch between different sets of code.

My suggestion:

Use the Mingw packaged with Qt. They've done the work validating it works with Qt. Why not take advantage of it?

When I did this last year I did have to search for the right version of make. It wasn't provided at the time.

Upvotes: 1

Related Questions