Russian Qt Forum

Qt => Qt-инструментарий => Тема начата: __Heaven__ от Февраль 24, 2016, 09:41



Название: qmake + clang + openmp
Отправлено: __Heaven__ от Февраль 24, 2016, 09:41
Всем доброго дня!
Прошу помочь разобраться, каким образом нужно подключать openmp в pro файле при использовании компилятора clang


Название: Re: qmake + clang + openmp
Отправлено: alex312 от Февраль 24, 2016, 09:49
Цитировать
http://blog.llvm.org/2015/05/openmp-support_22.html
http://blog.llvm.org/2015/05/openmp-support_22.html


Название: Re: qmake + clang + openmp
Отправлено: __Heaven__ от Февраль 24, 2016, 10:44
Не понимаю... Валится на стадии линковки. Какую библиотеку я забыл подключить? В gcc всё прекрасно работает.
Код:
clang++ -ccc-gcc-name g++ -o Master main.o etc.o   -lgomp -lQt5OpenGL -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread
main.o: In function `main':
src/main.cpp:(.text+0x7e): undefined reference to `__kmpc_fork_call'
main.o: In function `.omp_outlined.':
src/main.cpp:(.text+0x433): undefined reference to `__kmpc_for_static_init_4'
src/main.cpp:(.text+0x44c): undefined reference to `__kmpc_for_static_fini'
src/main.cpp:(.text+0x45a): undefined reference to `__kmpc_barrier'


Название: Re: qmake + clang + openmp
Отправлено: Igors от Февраль 24, 2016, 12:44
Во всяком случае в старой версии clang мне не удалось этого добиться - пришлось компилить эти файлы icc. (невдобняк капитальный). Поэтому в первую очередь выясните та ли у Вас версия, гуглите clang <версия> omp


Название: Re: qmake + clang + openmp
Отправлено: __Heaven__ от Февраль 24, 2016, 12:46
Clang 3.7 fully supports OpenMP 3.1


Название: Re: qmake + clang + openmp
Отправлено: Igors от Февраль 24, 2016, 13:16
Clang 3.7 fully supports OpenMP 3.1
Это мне известно :) Просто убедитесь что оба (шланг и либа) такие как надо.


Название: Re: qmake + clang + openmp
Отправлено: __Heaven__ от Февраль 24, 2016, 19:18
Оба версии 3.7.1


Название: Re: qmake + clang + openmp
Отправлено: __Heaven__ от Февраль 24, 2016, 23:33
В общем, получилось
Не помню, откуда я скопировал строчку
Код:
LIBS += -lgomp
Но её нужно было заменить на
Код:
LIBS += -lomp


Название: Re: qmake + clang + openmp
Отправлено: __Heaven__ от Февраль 24, 2016, 23:33
Кстати, догадался методом тыка :)