не получается правильно собрать OpenCV + GStreamer (MinGW, Windows)

Уже долгое время пытаюсь собрать OpenCV + GStreamer. При запуске тестового пайплайна:

  cv::VideoCapture cap = cv::VideoCapture(" autovideosrc ! videoconvert ! appsink0 ", cv::CAP_GSTREAMER); 

Получаю следующую ошибку (см.ниже). В чем может быть проблема? компилятор 32 битный, gstreamer тоже.

 0:00:00.040498363  6904   1F44A7C0 WARN      GST_PLUGIN_LOADING gstplugin.c:793:_priv_gst_plugin_load_file_for_registry: module_open failed: 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgstdecklink.dll': РќРµ найдена указанная процедура.      (untitled2.exe:6904): GStreamer-WARNING **: 02:29:33.412: Failed to load plugin 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgstdecklink.dll': 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgstdecklink.dll': Не найдена указанная процедура.     0:00:00.061620856  6904   1F44A7C0 WARN      GST_PLUGIN_LOADING gstplugin.c:793:_priv_gst_plugin_load_file_for_registry: module_open failed: 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgstopenh264.dll': РќРµ найдена указанная процедура.      (untitled2.exe:6904): GStreamer-WARNING **: 02:29:33.432: Failed to load plugin 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgstopenh264.dll': 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgstopenh264.dll': Не найдена указанная процедура.     0:00:00.072668621  6904   1F44A7C0 WARN      GST_PLUGIN_LOADING gstplugin.c:793:_priv_gst_plugin_load_file_for_registry: module_open failed: 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgstsoundtouch.dll': РќРµ найдена указанная процедура.      (untitled2.exe:6904): GStreamer-WARNING **: 02:29:33.442: Failed to load plugin 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgstsoundtouch.dll': 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgstsoundtouch.dll': Не найдена указанная процедура.     0:00:00.088487674  6904   1F44A7C0 WARN      GST_PLUGIN_LOADING gstplugin.c:793:_priv_gst_plugin_load_file_for_registry: module_open failed: 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgstsrt.dll': РќРµ найдена указанная процедура.      (untitled2.exe:6904): GStreamer-WARNING **: 02:29:33.465: Failed to load plugin 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgstsrt.dll': 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgstsrt.dll': Не найдена указанная процедура.     0:00:00.089972159  6904   1F44A7C0 WARN      GST_PLUGIN_LOADING gstplugin.c:793:_priv_gst_plugin_load_file_for_registry: module_open failed: 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgsttaglib.dll': РќРµ найдена указанная процедура.      (untitled2.exe:6904): GStreamer-WARNING **: 02:29:33.465: Failed to load plugin 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgsttaglib.dll': 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgsttaglib.dll': Не найдена указанная процедура.     0:00:00.097988553  6904   1F44A7C0 WARN      GST_PLUGIN_LOADING gstplugin.c:793:_priv_gst_plugin_load_file_for_registry: module_open failed: 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgstwebrtcdsp.dll': РќРµ найдена указанная процедура.      (untitled2.exe:6904): GStreamer-WARNING **: 02:29:33.475: Failed to load plugin 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgstwebrtcdsp.dll': 'E:\gstreamer.0\x86\lib\gstreamer-1.0\libgstwebrtcdsp.dll': Не найдена указанная процедура.     0:00:00.107822720  6904   1F44A7C0 WARN                 filesrc gstfilesrc.c:533:gst_file_src_start:<source> error: No such file "C:\Users\Shmeisser\Documents\build-untitled2-Desktop_Qt_5_9_4_MinGW_32bit-Debug\ autovideosrc ! videoconvert ! appsink0"     0:00:00.107911655  6904   1F44A7C0 WARN                 basesrc gstbasesrc.c:3469:gst_base_src_start:<source> error: Failed to start     0:00:00.108341459  6904   1F44A7C0 WARN                 filesrc gstfilesrc.c:533:gst_file_src_start:<source> error: No such file "C:\Users\Shmeisser\Documents\build-untitled2-Desktop_Qt_5_9_4_MinGW_32bit-Debug\ autovideosrc ! videoconvert ! appsink0"     0:00:00.108391029  6904   1F44A7C0 WARN                 basesrc gstbasesrc.c:3469:gst_base_src_start:<source> error: Failed to start     0:00:00.108489004  6904   1F44A7C0 WARN                 filesrc gstfilesrc.c:533:gst_file_src_start:<source> error: No such file "C:\Users\Shmeisser\Documents\build-untitled2-Desktop_Qt_5_9_4_MinGW_32bit-Debug\ autovideosrc ! videoconvert ! appsink0"     0:00:00.108535367  6904   1F44A7C0 WARN                 basesrc gstbasesrc.c:3469:gst_base_src_start:<source> error: Failed to start     0:00:00.108575898  6904   1F44A7C0 WARN                 basesrc gstbasesrc.c:3824:gst_base_src_activate_push:<source> Failed to start in push mode     0:00:00.108603015  6904   1F44A7C0 WARN                GST_PADS gstpad.c:1142:gst_pad_set_active:<source:src> Failed to activate pad 

Как собрать html?

Я собираю проект вообще галпом. Но до сегодняшнего дня у меня был 1 html и к нему 1 файл со стилями, при билде они благополучно перенаправлялись в dist. Сейчас у меня в проекте 2 html и соответственно к каждому свой файл со стилями. Как это по умному в продакшн сбилдить?

Как в Gulp собрать список ссылок на html файлы?

Как можно с помощью Gulp собрать в один html файл список всех страниц которые находятся в директории?

Например в директории build у меня находятся два файла contact.html с title Контакты и faq.html с title Частые вопросы, мне их нужно получить и создать файл ui.html в котором был бы список ссылок на файлы вида:

<a href="faq.html">Частые вопросы</a> <a href="contact.html">Контакты</a> 

Ну и с добавлением какогото своего дизайна (подключением css файла).

Нашел модуль gulp-listing, но его никак кастомизировать не получается, там это происходит следующим образом:

    gulp.task('scripts', function() {       return gulp.src('./src/*.html')         .pipe(listing('listing.html'))         .pipe(gulp.dest('./src/'));     }); 

Yii2 Active Query как собрать такой mysql?

Как через query builder собрать вот такой mysql запрос?

SELECT t1.* FROM tsg_message t1 INNER JOIN ( SELECT chat_id, MAX(created_at) AS max_created_at FROM tsg_message GROUP BY chat_id ) t2 ON t1.chat_id = t2.chat_id AND t1.created_at = t2.max_created_at 

Если это важно, то данный запрос мне нужен в SearchModel для группировки сообщений по признаку chat_id и мне нужно, чтобы в группировку попадали только самые последние сообщения. Есть у кого-нибудь идеи?

Не знаю, как задать переменную типа void** +Собрать запустить всё в main

#include <iostream> #include <string.h> #include <malloc.h> #include <math.h> #include <TCHAR.h> #include <conio.h> using namespace std; typedef enum _comp {     diod = 1,     lamp,     motor,     power,     time,     energy } Comp;   typedef struct _diod {     Comp kind;     int q, e; }Diod;  typedef struct _lamp {     Comp kind;     int q, e; }Lamp;  typedef struct _motor {     Comp kind;     int q, e; }Motor;  typedef struct _power {     Comp kind;     int e; }Power;  typedef struct _time {     Comp kind;     int t; }Time;  typedef struct _energy {     Comp kind;     int q, e; }Energy;  void* ppCompArray[]={NULL,NULL,NULL,NULL,NULL,NULL}; Comp comp_kind = *((Comp*)ppCompArray[0]);  Diod* CalcDiod() {     Diod* p = (Diod*)malloc(sizeof(Diod));     int a,b;     cout << "Enter Kol-vo;";     cin >> a;     cout << " Enter power;";     cin >> b;     p->kind = diod;     p->e = a*b;     return p; }  Lamp* CalcLamp() {     Lamp* p = (Lamp*)malloc(sizeof(Lamp));     int a,b;     cout << "Enter Kol-vo;";     cin >> a;     cout << " Enter power;";     cin >> b;     p->kind = lamp;     p->e = a*b;     return p; }  Motor* CalcMotor() {     Motor* p = (Motor*)malloc(sizeof(Motor));     int a,b;     cout << "Enter Kol-vo;";     cin >> a;     cout << " Enter power;";     cin >> b;     p->kind = motor;     p->e = a*b;     return p; }  Power* CalcPower() {     Power* p = (Power*)malloc(sizeof(Power));     int a,b;     cout << "Enter Kol-vo;";     cin >> a;     cout << " Enter power;";     cin >> b;     p->kind = power;     p->e = a*b;     return p; }  Time* CalcTime() {     Time* p = (Time*)malloc(sizeof(Time));     int a,b;     cout << "Enter Kol-vo;";     cin >> a;     cout << " Enter power;";     cin >> b;     p->kind = time;     p->t = a*b;     return p; }  Energy* CalcEnergy() {     Energy* p = (Energy*)malloc(sizeof(Energy));     int a,b;     cout << "Enter Kol-vo;";     cin >> a;     cout << " Enter power;";     cin >> b;     p->kind = energy;     p->e = a*b;     return p; }   int AddComp(void** ppComp) {  int counter = 0;  bool quit = false;  while(!quit)  {  if(counter > 3)  return counter;  printf("Enter Figure Kind: \n");  printf("1 - diod;\n");  printf("2 - lamp;\n");  printf("3 - motor;\n");   printf("4 - power;\n");    printf("5 - time;\n");  printf("6 - energy;\n");  printf("e - Exit.\n\n");   int key;  switch(key)  {  case '1':  {   Diod* c = CalcDiod();  if(c != NULL)   {  ppComp[counter] = c;  counter++;  }  break;  }  case '2':  {   Lamp* r = CalcLamp();  if(r != NULL)   {      ppComp[counter] = r;   counter++;  }  break;  }  case '3':  {  Motor* w = CalcMotor();  if(w != NULL)   {  ppComp[counter] = w;  counter++;  } break;  }    case '4':  {  Power* d = CalcPower();  if(d != NULL)   {  ppComp[counter] = d;  counter++;  } break;  }    case '5':  {  Time* f = CalcTime();  if(f != NULL)   {  ppComp[counter] = f;  counter++;  } break;  }    case '6':  {  Energy* s = CalcEnergy();  if(s != NULL)   {  ppComp[counter] = s;  counter++;  }   break;   }  case '7':  {  printf("%d elements were created.\n\n", counter);  return counter;  break;  default:  printf("Enter correct number. Try again of Exit.\n");  }  }  printf("%d elements were created", counter);  return counter;  } }  float GetComP(void** ppComp, int count) {  float P = 0;   for(int i = 0; i < count; i++)  {  void* p = ppComp[i];    Comp kind = *((Comp*)p);  switch(kind)  {  case diod:  P += (float)((Diod*)p)->e;  break;  case lamp:  P += (float)((Lamp*)p)->e;  break;   case motor:  P += (float)((Motor*)p)->e;  break;   case power:  P += (float)((Power*)p)->e;  break;   case time:  P += (float)((Time*)p)->t;  break;   case energy:  P += (float)((Energy*)p)->e;  break;   default:   printf("Error in calculation of Power!!! \n");  return 0;  }  }  return P; }  int _tmain(int argc, _TCHAR* argv[]) {      cin >> ppCompArray[0];     void* l -   int realCount = 0; float s = GetComP(ppCompArray,realCount);  printf("Power of element: %d", s);  return 0; }  

Собрать и запустить пустое окно

Доброго времени суток.

С чем имею дело: Изучаю OpenGL. Есть исходный код библиотеки GLFW, GLEW. Есть g++ (MinGW.org GCC-6.3.0-1) 6.3.0. НЕЛЬЗЯ использовать НИКАКУЮ IDE. В качестве инструментов написания и сборки проекта разрещается использовать ТОЛЬКО – Notepad++ и командную строку(CMD или PowerShell). Проект собирается под Windows 10.

В чем проблема: Я не могу понять – в каком порядке и что нужно делать. Я долго искал и не смог найти понятной для себя информации на просторах интернета.

Как я приблизительно вижу решение задачи на данный момент: После того как я скачал и разархивировал два zip архива содержащие исходники glew и glfw я получил две папки: glew-1.9.0 и glfw-3.2.1 соответственно. В папке glew-1.9.0 есть папки src и include, в папке src лежат файлы с расширением .c , а в папке include лежат файлы с расширением .h. Как я понимаю – я должен из папки glew-1.9.0 собрать динамическую библиотеку используя содержимое этих папок. В папке glfw-3.2.1 также есть папки src и include с аналогичным содержанием. Полагаю я должен также собрать и из них другую динамическую библиотеку. Сам код создания окна я размещаю в отдельном файле main.cpp. Как я понимаю – я должен каким-то образом подключить две динамические библиотеки к моему файлу main.cpp, а затем каким-то образом собрать единый .exe файл, запуская который я и буду получать свое окно.

Вопрос: как видно из того, что я написал – я плохо представляю что нужно делать. Пожалуйста, скажите – правильно ли я представляю себе последовательность шагов по сборке проекта? Укажите, пожалуйста, какие-нибудь уроки, книги или статьи(желательно на русском, но можно и на английском), где подробно разбирается как делать сборку под windows с помощью MinGW и командной строки(без дополнительных инструментов) сборка проектов. ОЧЕНЬ ВАЖНО – мне нужны не просто инструкции в стиле “что куда тыкать”, а материал который поможет понять в деталях – что и как делать, и почему.

Необходимо создать третий массив минимально возможного размера, в котором нужно собрать элементы массивов A и B, которые не являются общими для них

Даны два массива: А[M] и B[N] (M и N вводятся с клавиатуры). Необходимо создать третий массив минимально возможного размера, в котором нужно собрать элементы массивов A и B, которые не являются общими для них.

Можете объяснить как сделать это задание?

Как правильно собрать статическую библиотеку ffmpeg для nano pi

Написал приложение на базе ffmpeg 3 и выше. На пишке версия ffmpeg 2.8 в следствии чего вываливаются три ошибки на функции которые не включены в ffmpeg 2.8. Замен этим функциям найти не удалось. Поделитесь каким нибудь мануалом как собрать статический ffmpeg что бы я мог запускать приложение на пишке. Пробовал собрать ffmpeg версии 4 на nano pi библиотеки собрались и версия у них нужная но ошибки все теже как будто я собираю приложение с другой версией ffmpeg.И при вызове ffmpeg выводиться странная версия библиотеки:

ffmpeg version N-93467-g5465562 Copyright (c) 2000-2019 the FFmpeg    developers   built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.11) 20160609   configuration:    libavutil      56. 26.100 / 56. 26.100   libavcodec     58. 47.105 / 58. 47.105   libavformat    58. 26.101 / 58. 26.101   libavdevice    58.  7.100 / 58.  7.100   libavfilter     7. 48.100 /  7. 48.100   libswscale      5.  4.100 /  5.  4.100   libswresample   3.  4.100 /  3.  4.100   Hyper fast Audio and Video encoder 

Так же приложу cmake файл:

project( screamer ) cmake_minimum_required( VERSION 3.0 ) include (cmake/git_version.cmake)  option( BUILD_DOCS "docs create" off )  git_version()  message( STATUS "\tGit version string: $  {GIT_VERSION_STRING}")  # libsoundio cpp wrapper add_subdirectory( modules/soundiocpp ) # ring buffer library add_subdirectory( modules/ringbuffer )  find_package( PkgConfig ) pkg_check_modules( DBUS dbus-1 ) include_directories( $  {DBUS_INCLUDE_DIRS} ) link_directories( $  {DBUS_LIBRARY_DIRS} )  find_package( Boost COMPONENTS filesystem REQUIRED ) include_directories( $  {Boost_INCLUDE_DIRS} )  #ncurses pack find SET(CURSES_USE_NCURSES TRUE) find_package(Curses REQUIRED) include_directories($  {CURSES_INCLUDE_DIR})  file( GLOB_RECURSE screamer_sources $  {CMAKE_CURRENT_SOURCE_DIR}/src/*.[ch]pp )  add_executable( $  {PROJECT_NAME} $  {screamer_sources} ) target_link_libraries( $  {PROJECT_NAME} $  {DBUS_LIBRARIES} $  {Boost_LIBRARIES} $  {CURSES_LIBRARIES} soundiocpp ringbuffer pthread ) target_link_libraries( $  {PROJECT_NAME} avcodec avutil avformat swresample  ) target_compile_definitions( $  {PROJECT_NAME} PUBLIC GIT_VERSION_STRING=$  {GIT_VERSION_STRING} )  message( STATUS "\tGit version string: $  {avcodec}")  set_target_properties( $  {PROJECT_NAME} PROPERTIES     CXX_STANDARD 11     CXX_STANDARD_REQUIRED YES ) 

Запускаю без каких либо модификаторов. cmake.., make. Может я делаю что то не так.

Как с помощью Clang собрать библиотеку из исходного кода на Windows

Что нужно сделать, чтобы получить статическую/динамическую GLFW библиотеку 64-бит на ОС Windows 10 используя Clang? Мне нужно в итоге получить файлы .dll и статический (как .a в MinGW).