2016-06-04 2 views
0

У меня есть приложение QT, которое использует OpenMP. (mingw, win8) Я хочу использовать .exe-файл без qt-создателя. Я уже поместил все dll в каталог сборки, но я все еще получаю это сообщение, когда запускаю .exe-файл.Точка входа процедуры GOMP_parallel не может быть расположена в dll

Кстати, все работает отлично, если я запускаю его из создателя Qt.

Это единственный код OpenMP У меня есть в моем приложении:

#pragma omp parallel for schedule(dynamic, 1) 

И вот как включить OpenMP в файл .pro

QMAKE_CXXFLAGS+= -fopenmp 
QMAKE_LFLAGS += -fopenmp 

Не уверен, если это имеет значение, но этот код работает в QThread , Я имею в виду, что у меня есть один поток для графического интерфейса, а второй - для вычислений.

Любые идеи, почему это происходит?

обн

И да, я поставил libgomp-1.dll там.

обн 2

Dependency Walker просто показал несколько недостающих Microsoft библиотек DLL. Не думайте, что это проблема.

ответ

0

Хорошо, проблема решена.

Я скопировал из библиотеки DLL:

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

вместо:

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

Может быть кто-то будет полезно.

И да, зависимый ходок не помог бы в подобной ситуации. Эта DLL OpenMP не пропустила, это было не то, что мне было нужно.

Смежные вопросы

 Смежные вопросы