Форум программистов, компьютерный форум, киберфорум
C++: OpenCV
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/26: Рейтинг темы: голосов - 26, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 13.09.2014
Сообщений: 16

Qt+OpenCV+error 1073741515

13.09.2014, 14:08. Показов 5482. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобраться с проблемой. Перехожу с Builder на QT. При этом сразу нужен OpenCV. В конечном итоге выпадает ошибка 1073741515.
C++
1
2
3
4
5
6
7
8
9
10
#include <QCoreApplication>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
printf("Hello word");
 
   return a.exec();
}
В таком виде отрабатывает (то есть пишет Hallo word).
Но в «выводе приложения. Запускается \cards_qt\build-helloword-Desktop_Qt_5_3_MinGW_32bit-Debug\debug\helloword.exe...
cards_qt\build-helloword-Desktop_Qt_5_3_MinGW_32bit-Debug\debug\helloword.exe завершился с кодом -1073741510

Файл pro следующий.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#-------------------------------------------------
#
# Project created by QtCreator 2014-09-09T10:32:22
#
#-------------------------------------------------
 
QT       += core
 
QT       -= gui
 
TARGET = helloword
CONFIG   += console
CONFIG   -= app_bundle
 
TEMPLATE = app
INCLUDEPATH += D:\\OpenCV\\build\\include\
INCLUDEPATH+=D:\\OpenCV\\build\\include\\opencv
 
LIBS+=d:\\OpenCV\\build\\x86\\mingw\\lib\\libopencv_calib3d231.dll.a
LIBS+=d:\\OpenCV1\\build\\x86\\mingw\\lib\\libopencv_contrib231.dll.a
LIBS+=d:\\OpenCV\\build\\x86\\mingw\\lib\\libopencv_core231.dll.a
LIBS+=d:\\OpenCV\\build\\x86\\mingw\\lib\\libopencv_features2d231.dll.a
LIBS+=d:\\OpenCV\\build\\x86\\mingw\\lib\\libopencv_flann231.dll.a
LIBS+=d:\\OpenCV\\build\\x86\\mingw\\lib\\libopencv_gpu231.dll.a
LIBS+=d:\\OpenCV\\build\\x86\\mingw\\lib\\libopencv_highgui231.dll.a
LIBS+=d:\\OpenCV\\build\\x86\\mingw\\lib\\libopencv_imgproc231.dll.a
LIBS+=d:\\OpenCV\\build\\x86\\mingw\\lib\\libopencv_legacy231.dll.a
LIBS+=d:\\OpenCV\\build\\x86\\mingw\\lib\\libopencv_ml231.dll.a
LIBS+=d:\\OpenCV\\build\\x86\\mingw\\lib\\libopencv_objdetect231.dll.a
LIBS+=d:\\OpenCV\\build\\x86\\mingw\\lib\\libopencv_video231.dll.a
 
SOURCES += main.cpp
Когда добавляю строчку с функцией openCV, уже ничего не пишет и та же ошибка заверешния.
C++
1
2
3
4
5
6
7
QCoreApplication a(argc, argv);
printf("Hello word");
 
   char c = cvWaitKey(33);//new
 
    return a.exec();
}
Понятное дело, что глюки с OpenCV.
Скачала версию 2.3.1 superpack. (OpenCV-2.3.1-win-superpack.exe). Использую готовую скомпелированную версию -- build\\x86\\mingw. Это проявляется только лишь в файле pro при подключение библиотек. У меня Windows 7.
Пыталась использовать несколько рекомендаций по запуску QT и OpenCV, в том числе http://recog.ru/blog/opencv/4.html. Однако скомпилировать свою версию у меня не удалось. И тогда решила подключить готовую из папки mingw. Написано, что она под винду работает.
Для начала подскажите, можно ли было так делать. Если да, то как исправить проблему с ошибкой. Если нет, то распишу подробнее как я пыталась скомпилировать (по инструкции с recog) и какие были ошибки.

И еще дополнительный вопрос. Мне нужно реализовать алгоритмы распознавания образов (обработка изображений, фильтры и т.п.) Стоит ли сразу пробовать с opencv 2.4.9 или хватит 2.3.1.
PS. Простите за некоторые повторения, таких вопросов много. Вот на вашем форуме вроде ту же проблему обсуждали https://www.cyberforum.ru/qt/thread1203411.html но я не поняла как она решилась :-)) Мне не помогло. У меня ряд сопутсвующих вопросов как у впервые столкнувшегося с QT. ПОмогите. Уже третью неделю бьюсь понемногу, никак не могу прорваться...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.09.2014, 14:08
Ответы с готовыми решениями:

Ошибка линковки -1073741515
C:\Qt\Qt5.0.1\Projects\Cours-build-Desktop_Qt_5_0_1_MinGW_32bit-_______\debug\Cours.exe завершился с кодом -1073741515 Программа...

OpenCV 2.4.8 parse error
Создаю файл vec, но выдается ошибка как на картинке. Опробовал на 2 компьютерах. Содержимой файла good.dat: good\0.bmp 0 0 99 51 ...

Ошибка компиляции: error LNK2019 OpenCV VS2010
Система Windows 7 x64 VS 2010 Ultimate OpenCV 2.4.9 Я только пробую свои силы в VS С++.... Установку OpenCV делал по инструкции,...

25
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.09.2014, 15:03
Я не знаю как для MinGW, вероятно нужно компилировать MinGW исходники OpenCV.
Но лично я использую MSVC как компилятор и Qt-сборку под него, более того в интернете есть инсталятор OpenCV под MSVC, поэтому оставалось лишь прописать пути в Qt-проекте.
1
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
13.09.2014, 15:04
1) OpenCV должен быть собран той же версией компилятора: что и Qt, что и ваш код.
2) Какие были ошибки при сборке OpenCV? Он собирается вроде как с полпинка.
3) Любой версии OpenCV будет достаточно для таких простых задач.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.09.2014, 15:13
Цитата Сообщение от Lunaplus Посмотреть сообщение
Файл pro следующий.
Т.е. проект компилируется, но программа "падает",так ?
Стоит проверить переменную окружения PATH, прописан ли в ней путь к папке bin для OpenCV (типа C:\OpenCV2.2\bin)

Видео
0
0 / 0 / 0
Регистрация: 13.09.2014
Сообщений: 16
14.09.2014, 16:31  [ТС]
То есть все таки неизбежно нужно пересобирать...
Запуская cmake, указываю папку откуда брать, папку куда положить. Но ошибка опять.
Причем уже поняла, что одинаковая она и для Opencv2.2 и для opencv2.3.
И для компилятора Iblocks и для того что из QT mingw.
ЗНачит c CMAKE что то не так.
Вот ошибка:
CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_C_COMPILER_ENV_VAR
CMake Error: Could not find cmake module file:C:/OpenCvPro231/CMakeFiles/CMakeCCompiler.cmake
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER_ENV_VAR
CMake Error: Could not find cmake module file:C:/OpenCvPro231/CMakeFiles/CMakeCXXCompiler.cmake


Добавлено через 15 минут
А в Path прописано:
D:\Qt_5_3_1\5.3\mingw482_32\bin:\OpenC V_2_3_1\build\x86\mingw\lib:\OpenCV_2_ 3_1\build\x86\mingw\bin;

Видимо CMAke не хочет видеть компилятор.

Добавлено через 23 часа 22 минуты
Прошел еще день мучений, удалось собрать opencv c помощью Cmake, размер папки OpenCV вырос до 3 ГБ, но ошибка вылетела все та же.
Запускается C:\Luna\Work\PAY\cards_qt\build-helloword-Desktop_Qt_5_3_MinGW_32bit-Debug\debug\helloword.exe...
C:\Luna\Work\PAY\cards_qt\build-helloword-Desktop_Qt_5_3_MinGW_32bit-Debug\debug\helloword.exe завершился с кодом -1073741515

Может у кого еще есть идеи. Хотя бы в какую сторону еще порыть.
Пишут, что нужно как то по-другому писать pro.
Вот поменяла так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#-------------------------------------------------
#
# Project created by QtCreator 2014-09-09T10:32:22
#
#-------------------------------------------------
 
QT       += core
 
QT       -= gui
 
TARGET = helloword
CONFIG   += console
CONFIG   -= app_bundle
 
TEMPLATE = app
 
INCLUDEPATH+=C:\\OpenCvPro231\\install\\include\
INCLUDEPATH+=C:\\OpenCvPro231\\install\\include\\opencv
 
win32: LIBS+=-L C:\\OpenCvPro231\\install\\lib\\ -libopencv_calib3d231d.dll.a
-libopencv_core231d.dll.a
-libopencv_features2d231d.dll.a
-libopencv_flann231d.dll.a
-libopencv_gpu231d.dll.a
-libopencv_highgui231d.dll.a
-libopencv_imgproc231d.dll.a
-libopencv_legacy231d.dll.a
-libopencv_ml231d.dll.a
-libopencv_objdetect231d.dll.a
-libopencv_video231d.dll.a
-libopencv_contrib231d.dll.a
 
 
SOURCES += main.cpp
Безрезузльтатно
0
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
14.09.2014, 16:42
Вот пример реально работающего профайла:
C++ (Qt)
1
2
3
4
5
windows {
    INCLUDEPATH += "C:/opencv-2.4.9/include"
    LIBS += -L"C:/opencv-2.4.9/bin" -lopencv_core249 -lopencv_highgui249 \
            -lopencv_imgproc249 -lopencv_video249 -lopencv_ffmpeg249
}
попробуйте по аналогии
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
14.09.2014, 17:32
Цитата Сообщение от RazrFalcon Посмотреть сообщение
Вот пример реально работающего профайла:
Цитата Сообщение от RazrFalcon Посмотреть сообщение
C++ (Qt)
1
-L"C:/opencv-2.4.9/bin"
Сомнительно, разве что у вас туда кинула *.lib или *.a файлы
0
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
14.09.2014, 17:38
Цитата Сообщение от Avazart Посмотреть сообщение
Сомнительно
Код из реального проекта. О каком "сомнительно" идет речь? В папке bin лежат dll.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
14.09.2014, 18:21
Цитата Сообщение от RazrFalcon Посмотреть сообщение
Код из реального проекта. О каком "сомнительно" идет речь? В папке bin лежат dll.
Путь к *.dll должен быть указан в переменной среды окружения PATH.
В LIBS должны быть указаны пути к *.lib или *.a файлам а не *.dll, хотя насчет *.a и MinGW не уверен.
0
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
14.09.2014, 18:38
Avazart, вы что-то путаете. В LIBS указывается путь к библиотекам. Динамическим, статически - не важно.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
14.09.2014, 18:39
Цитата Сообщение от RazrFalcon Посмотреть сообщение
Динамическим, статически - не важно.
Важно, и где вы видели статически библиотеки? Там библиотеки импорта.

"*.dll.a" Как я понимаю аналог "*.lib" для импорта (из *.dll)
0
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
14.09.2014, 18:47
Цитата Сообщение от Avazart Посмотреть сообщение
Важно
Нет. http://qt-project.org/doc/qt-4... .html#libs
Что значит "где видел"? Я говорю в принципе можно любые, в том числе и opencv можно в статику собрать, вроде бы.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
14.09.2014, 18:52
В том смысле что dll без lib никак не прилинковать, а *.lib обычно находятся в папке C:\OpenCV2.2\lib, а не bin, а значит и указывать bin без смысленно.
0
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
14.09.2014, 18:55
У меня линкует без .lib нормально.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
14.09.2014, 18:56
Цитата Сообщение от RazrFalcon Посмотреть сообщение
У меня линкует без .lib нормально.
Почитайте про DLL, DLL можно "грузить" явно либо через LoadLibrary() либо неявно через библиотеку импорта.

Насчет MinGW я конечно могу ошибаться, я не знаю как там портируется, но предполагаю что аналогично.
0
0 / 0 / 0
Регистрация: 13.09.2014
Сообщений: 16
15.09.2014, 18:53  [ТС]
В моем представлении Avazart правильно говорит. В LIBS подключают папку lib, а не bin.
Разница в том, что в bin лежит libopencv_video231d.dll, а lib libopencv_video231d.dll.a
Может кто объяснит, что значит это .a в конце. что это за расширение. В динамическом варианте (который я и использую) подключают именно эти длл через либы.
И еще не могу разобраться. Что значат PATH в INCLUDEPATH и в PATH, которая переменная среды. Почему нельзя все пасы для проекта указать в файле pro. Может кто то разъяснит механизм работы всего этого?
Подозреваю, что многие один раз удачно написав проекты не до конца понимают суть этих взаимодействий.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.09.2014, 18:58
*.a это статические либы в Linux, но какой смысл несет оно под Windows непонятно, непонятно как портируется это дело

Добавлено через 1 минуту
Цитата Сообщение от Lunaplus Посмотреть сообщение
в PATH, которая переменная среды.
Ну лично я имел ввиду изначально про переменную среду - это переменная среды которая определяет где будут искаться DLL-ки при запуске приложения (кроме того DLL-ки ищутся в системных папках и папке с программой)
Если DLL-ки не будут найдены приложение будет компилироваться, но будет "падать" при запуске.

INCLUDEPATH - там где будут искаться хедеры.
0
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
15.09.2014, 19:01
Цитата Сообщение от Lunaplus Посмотреть сообщение
В LIBS подключают папку lib, а не bin.
Да хоть папку борщ. Название папки роли не играет, главное содержимое.

Цитата Сообщение от Lunaplus Посмотреть сообщение
что значит это .a в конце
Это статическая библиотека по Unix маркировке, скажем так. Это из-за того что у вас mingw компилятор, который gcc, который из unix пришел.

Цитата Сообщение от Lunaplus Посмотреть сообщение
Что значат PATH в INCLUDEPATH и в PATH, которая переменная среды.
INCLUDEPATH - путь к хедерам/инклудам/.h
PATH - это место в котором приложение ищет динамические либы. К qt/qmake он отношения не имеет.
0
0 / 0 / 0
Регистрация: 13.09.2014
Сообщений: 16
15.09.2014, 19:09  [ТС]
У меня такое ощущение, что меня заколдовали против OpenCV.
Вот файл проекта:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#-------------------------------------------------
#
# Project created by QtCreator 2014-09-14T20:30:27
#
#-------------------------------------------------
 
QT       += core
 
QT       -= gui
 
TARGET = simplecard
CONFIG   += console
CONFIG   -= app_bundle
 
TEMPLATE = app
 
 
SOURCES += main.cpp
 
windows {
    INCLUDEPATH += "C:/OpenCvPro321/install/include"
    LIBS += -L"C:/OpenCvPro321/install/lib" -libopencv_video231d.dll.a \
-libopencv_core231d.dll.a \
-libopencv_features2d231d.dll.a \
-libopencv_flann231d.dll.a \
-libopencv_gpu231d.dll.a \
-libopencv_highgui231d.dll.a \
-libopencv_imgproc231d.dll.a \
-libopencv_legacy231d.dll.a \
-libopencv_ml231d.dll.a \
-libopencv_objdetect231d.dll.a \
-libopencv_video231d.dll.a \
-libopencv_contrib231d.dll.a
}
вот файл main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <QCoreApplication>
#include "opencv2/core/core_c.h"
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/highgui/highgui_c.h"
#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc.hpp"
 
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
printf("open video file");
....cod
return a.exec();
}
Вот что в PATH:
c:\OpenCvPro231\install\include
c:\OpenCvPro231\install\bin; -ТУТ BIN, а при подключении LIBS - LIB
Причем это продублировано как для переменной пользователя, так и в системной
И что Вы думаете пишет Креэйтор?!
Assembler
1
2
3
C:\Luna\Work\PAY\cards_qt\simplecard\main.cpp:2: ошибка: opencv2/core/core_c.h: No such file or directory
 #include "opencv2/core/core_c.h"
                                 ^
хотя путь прописан и в INCLUDPATH и в переменных PATH:
c:\OpenCvPro231\install\include\ - ГДЕ РЕАЛЬНЫЕ opencv2 i opencv папки.
install, потому что туда собрал cmake
0
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
15.09.2014, 19:20
Не -libopencv_video231d.dll.a, а -lopencv_video231d

core_c.h? почему не core.hpp? Вы же на плюсах пишите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.09.2014, 19:20
Помогаю со студенческими работами здесь

OpenCV C++ vs2010 error C2446: :: нет преобразования "const char *" в "_TCHAR *"
Добрый день уважаемые форумчане. Столкнулся с небольшой проблемой. Выбивает ошибку: &quot;error C2446: :: нет преобразования &quot;const...

Ошибка "MSB6006 "CL.exe" завершилась с кодом -1073741515"
код: #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;ctime&gt; using namespace std; int main() { srand(time(NULL)); int...

Исправить ошибку в WxDev-C++: Error with debugging process: GDB Error: error, No source file named main.cpp
Здравствуйте товарищи! Новенький я в си, установил wxDev-C++, скомпилировал, запускаешь - работает, а чтоб пошагово отладка - не...

Error 1 fatal error LNK1000: Internal error during IncrBuildImage ModalMnd
Ребята помогите пожалуиста разобраться с ошибкой ! только начал изучать WinApi ! Visual studio 8 выдает такую ошибку постоянно ...

Error displaying the error page: Application Instantiation Error
Добрый вечер, друзья! Нужна помощь. Перенес свой сайт с локалки на masterhost.ru при помощи Filezilla. Только, при запуске сайта...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru