简体   繁体   中英

The procedure entry point GOMP_parallel could not be located in the dll

I have a QT application that uses OpenMP. (mingw, win8) I want to use the .exe file without qt creator. I have already put all dlls in the build directory, but I still get this message when I run .exe file.

By the way everything works fine if I run it from Qt creator.

That's the only OpenMP code I have in my app:

#pragma omp parallel for schedule(dynamic, 1)

And that's how I enable OpenMP in .pro file

QMAKE_CXXFLAGS+= -fopenmp
QMAKE_LFLAGS +=  -fopenmp

Not sure if it matters but this code works in QThread. I mean I have one thread for GUI and the second one for computations.

Any ideas why this happens?

upd

And yes, I put libgomp-1.dll there too.

upd 2

Dependency walker just showed several missing microsoft dlls. Don't think that's the problem.

Okay, the problem is solved.

I copied dlls from:

\\Qt\\Qt5.5.1\\5.5\\mingw492_32\\bin\\

instead of:

\\Qt\\Qt5.5.1\\Tools\\mingw492_32\\bin\\

Maybe somebody will find it helpful.

And yeah, Dependency walker wouldn't help in the situation like this. That OpenMP dll wasn't missing it was just not the one I needed.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM