Russian Qt Forum

Qt => Работа с сетью => Тема начата: Павелъ от Июнь 16, 2017, 08:44



Название: Сборка nmap в Qt
Отправлено: Павелъ от Июнь 16, 2017, 08:44
Доброго времени суток.

Реально ли собрать исходники nmap в Qt?

Qt 5.6.2. Скачал исходники nmap с оф сайта.

Пытаюсь собрать исходники. Постепенно преодолеваю ошибки при сборке, но появились ошибки, от которых я никак не могу избавиться.

Вот несколько из них:
Код:
C:\Qt\Qt5.6.2\Tools\mingw492_32\lib\gcc\i686-w64-mingw32\4.9.2\include\mmintrin.h:64: ошибка: can't convert between vector values of different size
   return (__m64) __builtin_ia32_vec_init_v2si (__i, 0);
                                                      ^
 
C:\Qt\Qt5.6.2\Tools\mingw492_32\lib\gcc\i686-w64-mingw32\4.9.2\include\mmintrin.h:161: ошибка: cannot convert '__m64 {aka int}' to '__vector(2) int' for argument '1' to '__vector(4) short int __builtin_ia32_packssdw(__vector(2) int, __vector(2) int)'
   return (__m64) __builtin_ia32_packssdw ((__v2si)__m1, (__v2si)__m2);
                                                                     ^

C:\Qt\Qt5.6.2\Tools\mingw492_32\lib\gcc\i686-w64-mingw32\4.9.2\include\xmmintrin.h:157: ошибка: cannot convert '__m128 {aka float}' to '__vector(4) float' for argument '1' to '__vector(4) float __builtin_ia32_rcpss(__vector(4) float)'
   return (__m128) __builtin_ia32_rcpss ((__v4sf)__A);
                                                    ^
C:\Qt\Qt5.6.2\Tools\mingw492_32\lib\gcc\i686-w64-mingw32\4.9.2\include\emmintrin.h:59: ошибка: too many initializers for '__m128d {aka double}'
   return __extension__ (__m128d){ __F, 0.0 };
                                            ^

C:\Qt\Qt5.6.2\Tools\mingw492_32\lib\gcc\i686-w64-mingw32\4.9.2\include\pmmintrin.h:88: ошибка: cannot convert '__m128d {aka double}' to '__vector(2) double' for argument '1' to '__vector(2) double __builtin_ia32_haddpd(__vector(2) double, __vector(2) double)'
   return (__m128d) __builtin_ia32_haddpd ((__v2df)__X, (__v2df)__Y);
                                                                   ^

C:\Qt\Qt5.6.2\Tools\mingw492_32\lib\gcc\i686-w64-mingw32\4.9.2\include\tmmintrin.h:78: ошибка: cannot convert '__v8hi {aka short int}' to '__vector(8) short int' for argument '1' to '__vector(8) short int __builtin_ia32_phsubw128(__vector(8) short int, __vector(8) short int)'
   return (__m128i) __builtin_ia32_phsubw128 ((__v8hi)__X, (__v8hi)__Y);
                                                                      ^

C:\Qt\Qt5.6.2\Tools\mingw492_32\lib\gcc\i686-w64-mingw32\4.9.2\include\ammintrin.h:72: ошибка: cannot convert '__m128i {aka long long int}' to '__vector(2) long long int' for argument '1' to '__vector(2) long long int __builtin_ia32_insertq(__vector(2) long long int, __vector(2) long long int)'
   return (__m128i) __builtin_ia32_insertq ((__v2di)__X, (__v2di)__Y);
                                                                    ^  

Как от них избавиться?


Название: Re: Сборка nmap в Qt
Отправлено: Павелъ от Июнь 16, 2017, 08:46
Погуглил и нашёл, что это ошибки транслятора Clang. Я под MinGw никак не соберу проект?


Название: Re: Сборка nmap в Qt
Отправлено: Old от Июнь 16, 2017, 08:55
Не знаю сможете ли вы собрать nmap под вендой, но готовые сборки есть на сайте nmap.
Возможно проще будет запускать nmap как внешний процесс с нужными параметрами и парсить вывод. Или сохранять результаты сканирования в специальный xml файл и разбирать уже его.