Add gcc path windows

how to install gcc on windows 7 machine?

I have MinGW on my windows 7 machine. I wish to install and use complete gcc for C compiler. I found there is no single pre-compiled ready-made installation file for this purpose. I checked the following page : http://gcc.gnu.org/install/ It is difficult and I find it above my level of understanding. Could any one please provide me step by step guidance along with links?

5 Answers 5

EDIT Since not so recently by now, MinGW-w64 has «absorbed» one of the toolchain building projects. The downloads can be found here. The installer should work, and allow you to pick a version that you need.

Note the Qt SDK comes with the same toolchain. So if you are developing in Qt and using the SDK, just use the toolchain it comes with.

Another alternative that has up to date toolchains comes from. harhar. a Microsoft developer, none other than STL (Stephan T. Lavavej, isn’t that a spot-on name for the maintainer of MSVC++ Standard Library!). You can find it here. It includes Boost.

Another option which is highly useful if you care for prebuilt dependencies is MSYS2, which provides a Unix shell (a Cygwin fork modified to work better with Windows pathnames and such), also provides a GCC. It usually lags a bit behind, but that is compensated for by its good package management system and stability. They also provide a functional Clang with libc++ if you care for such thing.

I leave the below for reference, but I strongly suggest against using MinGW.org, due to limitations detailed below. TDM-GCC (the MinGW-w64 version) provides some hacks that you may find useful in your specific situation, although I recommend using vanilla GCC at all times for maximum compatibility.

GCC for Windows is provided by two projects currently. They both provide a very own implementation of the Windows SDK (headers and libraries) which is necessary because GCC does not work with Visual Studio files.

The older mingw.org, which @Mat already pointed you to. They provide only a 32-bit compiler. See here for the downloads you need:

Alternatively, download mingw-get and use that.

The newer mingw-w64, which as the name predicts, also provides a 64-bit variant, and in the future hopefully some ARM support. I use it and built toolchains with their CRT. Personal and auto builds are found under «Toolchains targetting Win32/64» here. They also provide Linux to Windows cross-compilers. I suggest you try a personal build first, they are more complete. Try mine (rubenvb) for GCC 4.6 to 4.8, or use sezero’s for GCC 4.4 and 4.5. Both of us provide 32-bit and 64-bit native toolchains. These packages include everything listed above. I currently recommend the «MinGW-Builds» builds, as these are currently sanctioned as «official builds», and come with an installer (see above).

For support, send an email to mingw-w64-public@lists.sourceforge.net or post on the forum via sourceforge.net.

Both projects have their files listed on sourceforge, and all you have to do is either run the installer (in case of mingw.org) or download a suitable zipped package and extract it (in the case of mingw-w64).

There are a lot of «non-official» toolchain builders, one of the most popular is TDM-GCC. They may use patches that break binary compatibility with official/unpatched toolchains, so be careful using them. It’s best to use the official releases.

Источник

Как установить компилятор gcc / g++ для Windows. Установка gcc

Время чтения: 5 минут

Для того, чтобы писать программы на C/C++ обычно достаточно установить какую-нибудь интерактивную среду разработки (IDE), например, Visual Studio или Eclipse, однако иногда (обычно в целях обучения студентов) требуется создавать программы в обыкновенном текстовом редакторе и компилировать приложение, используя консоль и компилятор gcc. В Unix системах он обычно установлен прямо «из коробки», а вот на Windows системах такой роскоши не наблюдается. Более того, у многих пользователей возникает множество проблем при установке компилятора. Поэтому нами было принято решение написать данную статью, чтобы помочь всем тем, кому пришлось или приходится мучаться с установкой этого компилятора на Windows.

0. Прежде чем поставить компилятор GCC

Если в окне консоли появилось сообщение с версией компилятора и другая информация о GCC (второй скриншот), значит компилятор уже установлен и больше дополнительно ничего делать не нужно. А вот если вывод командной строки такой:

— значит GCC ещё не установлен в системе, поэтому двигаемся дальше.

1. Скачиваем установщик компилятора

Чтобы поставить GCC на операционную систему Windows, необходимо скачать установочный файл для него. Сделать это можно здесь: equation.com/servlet/equation.cmd?fa=fortran. Найдите в таблице версию компилятора, которая вам больше нравится (мы рекомендуем скачивать самую последнюю, на текущий момент — это версия 8.2.0) и скачайте установщик для вашей системы (32 или 64 бит).

2. Установка GCC

После того, как файл был скачан, откройте в проводнике папку, в которую был скачан установщик и запустите его, кликнув по файлу дважды левой кнопкой мыши. Появится окно, требующее подтверждения действия. В нём нужно выбрать да (иначе ничего ставиться не будет).

Установщик начнёт работу и отобразит окно с консолью, а также окно с бежевым фоном, в котором попросит прочесть и принять (или отклонить) лицензионное соглашение. Нажимаем Accept.

Теперь остаётся только дождаться окончания распаковки архивов и установки их на компьютер. Как только все файлы будут установлены, инсталятор сообщит об этом, после чего нужно будет нажать на кнопку Finish.

3. Проверка установки

Поздравляем! Теперь на вашем компьютере установлен компилятор GCC и вы можете писать программы на языках C и C++, а компилировать их через командную строку!

4. Бонус. Компиляция программ с помощью GCC

Что ещё за a.out? Непонятно!

Используя понятные имена выходных программ (исполняемых файлов), вы гарантируете себе простоту работы и сокращение времени на разбирательство спустя долгое время.

Программист, сооснователь programforyou.ru, в постоянном поиске новых задач и алгоритмов

Языки программирования: Python, C, C++, Pascal, C#, Javascript

Выпускник МГУ им. М.В. Ломоносова

А Вы знаете, что мы пишем программы на C, C++, C#, Pascal и Python?

Так что если Вам нужно написать программу на C/C++, C#, Pascal или Python — мы с радостью поможем с этим!

Читайте также:  Windows media player плагин для mkv

В том числе мы занимаемся репетиторством по информатике и программированию, а также готовим к ОГЭ и ЕГЭ!

Почему именно мы?

Как с нами связаться?

Programforyou — доверяя нам писать программы, вы получаете качественное решение в короткие сроки по привлекательной цене!

Источник

Установка OpenCV в Windows для чайников и подключение библиотеки в Code Blocks

Данная статья будет полезна чайникам новичкам в программировании, которые хотят начать изучать техническое зрение при помощи библиотеки OpenCV с полного нуля. Если Вы пользователь Windows и даже не знаете, что значит «прилинковать библиотеку», и при этом Вы мечтаете поглубже изучить работу OpenCV и программирование «под железо», перейти на кроссплатформенное ПО, пойти по пути тру специалиста, то Вам сюда. В статье будут приведены подробные инструкции с картинками, так что не понять, что к чему, будет просто невозможно!

Краткий экскурс по содержанию. Если Вы в первый раз слышите про всё, что написано ниже, то просто читайте и изучайте статью по порядку. Если же Вы что-то уже знаете, можете пропустить данный пункт в статье.

Если в Linux командная строка является неотъемлемой частью операционной системы, то в Windows она почти никогда не нужна. Однако мы ведь хотим стать тру специалистами и научиться программировать под любое железо в любой ОС, писать программы в блокноте и т.д.? Поэтому начнем с командной строки, хотя она будет нужна нам всего лишь для двух команд — mingw32-make и mingw32-make install, но об этом позже. Если Вы уже в курсе, как пользоваться командной строкой, то можете пропустить данный пункт. В противном случае смотрим под спойлер.

Итак, сначала запустим командную строку. Зайдем в ПУСК и в поиске введем cmd. Что поиск найдет, то и запускаем. Должно появиться такое вот окошко:

Чтобы перейти на диск D: нужно набрать команду cd /d D:, как на картинке.

Дальше попробуем перейти в папку ( в примере это папка YAR ). Команда cd может нам в этом помочь. В моем случае надо просто набрать cd YAR и нажать клавишу Enter, как на картинке.

Командная строка показывает лишь две папки на букву ‘o’, так как в папке YAR есть лишь две такие папки.

Существует хороший, бесплатный и открытый компилятор — GCC. Для Windows есть коллекция бесплатных виндоусовских компиляторов для C и C++MinGW. Другие компиляторы я не использовал, поэтому в данной статье не затрагиваю.

Итак, компилятор значит GCC, гуглим MinGW, однако не спешите тут же скачивать что попало. Сначала надо уловить пару тонкостей, так как мы же сидим под Windows. Во-первых, если Вы скачаете первое, что попадется под руку, пусть и последнюю сборку компилятора, в дальнейшем Вас может ждать разочарование, когда во время сборки библиотеки OpenCV выскочит ошибка вроде этой:

Обратим внимание на строку: error: ‘thread’ in namespace ‘std’ does not name a type std::thread second_workthread; Эта ошибка говорит о том, что в стандартной библиотеке std нет класса thread, и это несмотря на то, что std стандартная библиотека, и класс thread в ней должен быть обязателен в С++ 11, и компилятор MinGW у Вас версии 6. Дело в том, что во многих сборках MinGW под Windows не поддерживается работа с потоками через std::thread. Поэтому надо найти сборку MinGW (или собрать MinGW самому) с рабочим классом std::thread. В том числе поэтому нельзя использовать TDM GCC. По-другому эту проблему не решить.

Если Вас устроит версия MinGW 5.1, то советую скачать ее тут, с помощью этого набора компиляторов я удачно собрал OpenCV на Windows 10.

Если Вас интересует, как можно распараллелить процессы между ядрами процессора или видеокарты с помощью библиотек OpenMP, OpenACC, то стоит прочитать об этом под спойлером.

А если пока лень во всё вникать, просто качайте компилятор по ссылке, распакуйте архив, переместите содержимое архива, куда Вам нужно, и следуйте инструкции дальше.

После того, как Вы скачаете MinGW, надо будет провести пару нехитрых манипуляций с ним — прописать папку bin в переменную среды PATH. Это нужно для того, чтобы из командной строки можно было воспользоваться командой make или mingw32-make, иначе Вас будет ждать такое сообщение: «mingw32-make» не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Также в папке bin расположены динамические библиотеки для работы компилятора, которые windows попросту не увидит, если Вы не пропишите путь к папке bin в переменную среды PATH.

Итак, чтобы прописать путь к папке с компиляторами в переменную среды PATH, идем сначала в ПУСК, затем тыкаем в Этот компьютер и заходим в свойства. Там нажимаем Дополнительные параметры системы, находим и жмем переменные среды и затем, или в окне переменные среды пользователя (если Вы делаете эту переменную только для себя), или в окне системные переменные (если Вы делаете переменную для всех пользователей Windows) находим переменную PATH (или Path) и в нее дописываем Ваш путь до папки bin. Например, как в моем случае C:\MinGW\mingw64\bin. Путь прописываем после символа ‘;’. Если у Вас в списке переменных нет PATH, то можете создать её, и тогда в ней будет пока один единственный путь — путь до Вашего компилятора GCC. Не забудьте переместить MinGW в удобную для Вас папку, прежде чем прописывать путь до папки bin. Также не забудьте перезапустить командную строку (если Вы её уже запустили) после добавления в PATH папки bin Вашего MinGW.

Cmake полезная штука, это кроcсплатформенная утилита для автоматической сборки программы из исходного кода. Она нам будет нужна, чтобы подготовить OpenCV к сборке. Качаем Cmake, если у Вас 64-разрядная система, качаем архив cmake-3.7.1-win64-x64.zip. Когда архив будет скачен, распакуйте его куда Вам удобнее. Cmake можно пользоваться через GUI. Для этого в папке с Cmake заходим в папку bin и нажимаем cmake-gui.exe. Теперь на время отложим Cmake и займемся OpenCV.

Если Вы читаете данную статью, то скорее всего уже знаете, зачем нужен OpenCV, и на что эта библиотека способна. Остальные могут посмотреть это видео и почитать тут. Для установки OpenCV нам надо скачать два архива. Один архив непосредственно с самой библиотекой OpenCV, а второй архив — дополнительные модули для библиотеки OpenCV. Каждый модуль ответственен за что-то свое, например, bioinspired модуль содержит в себе модель сетчатки глаза и может быть применен для детектора движения или для выравнивания яркости на изображении. Некоторые модули идут в составе архива с библиотекой OpenCV.

Читайте также:  Usb type c windows 10 driver

Итак, гуглим extra modules, чтобы найти модули для OpenCV. Если лень искать, можете скачать тут.

Затем гуглим саму библиотеку OpenCV, скачать ее можно тут и тут (во втором случае выберете OpenCV for Linux/Mac, так как версия для Windows рассчитана на Visual Studio). На момент написания статьи последняя версия OpenCV 3.2.0.

После того, как скачали два архива, распакуйте их и переместите содержимое, куда Вам удобно. Зайдите в папку OpenCV и создайте там папку build (или назовите ее как угодно, это просто папка, куда будет собираться OpenCV). И вот теперь можно начать работать с Cmake.

Как пользоваться Cmake

В окне Cmake нажимаем Browse Source и выбираем папку, где находятся файлы библиотеки OpenCV. Затем нажимаем Browse Build и выбираем папку build, которую ранее создали внутри папки с библиотекой OpenCV. В итоге должно получиться примерно, как на этой картинке.

Затем нажимаем кнопку Configure, должно появиться окошко, где можно настроить, под что именно Вы хотите собрать библиотеку.

Где написано Specify the generator for this project оставьте без изменений, строка MinGW Makefiles будет говорить о том, что Cmake соберет библиотеку с файлом инструкции для программы make под компиляторы MinGW. О том, что такое Makefiles можно почитать тут, а как этим пользоваться, тут. Впрочем, пока не надо на это распыляться, продолжаем установку OpenCV. Выберите пункт Specify native compilers, затем нажмите кнопку Next.

Дальше в новом окне выбираем компиляторы для языка C и С++. Эти компиляторы находятся в папке bin набора компиляторов MinGW. Для языка C прописываем путь до программы в папке bin, что заканчивается на mingw32-gcc.exe, а для языка C++ — путь до программы, что заканчивается на mingw32-g++.exe, язык Fortan не трогаем. В моем случае в папке bin есть такие программы компиляторов x86_64-w64-mingw32-gcc.exe и x86_64-w64-mingw32-g++.exe, их я и указал. Если вы забудете, что именно нужно указывать в этих пунктах, можно подсмотреть в настройках компилятора Code::Blocks (Если Вы скачали его со встроенным компилятором MinGW). Для этого в программе Code::Blocks заходим в Settings, выбираем пункт Compiler, заходим в Toolchain executables. В закладке Program Files на строчках C Compiler и C++ Compiler указаны компиляторы для языка C и C++.

Жмем в настройках компиляторов Cmake кнопку Finish и…

Это означает, что библиотека OpenCV слишком сложная для обывателя, и зря мы вообще начали ее устанавливать. Чтобы ею пользоваться, надо сначала получить академические корочки и изучать программирование лет 10-20, и вообще технический прогресс уже слишком далеко ушел, и никакие DIY проекты за ним не угонятся… Короче, бросьте это дело, не для Вас это.

Шучу. Ошибка скорее всего вызвана тем, что Windows не видит dll библиотеки компилятора, несмотря на то, что мы прописали папку bin в PATH. Поэтому идем в папку bin и копируем все dll файлы, а затем вставляем в папку system32, которая находится в папке Windows на диске C:. В моем случае таких dll файлов было много.

Теперь снова жмем кнопку Cmake’a Configure и процесс должен пойти успешно. В конце получим такую вот картину:

Настраиваем сборку OpenCV в Cmake

Как Вы видите, есть много опций. Затронем некоторые важные из них. Начнем с внешних модулей OpenCV. Ищем в Cmake опцию OPENCV_EXTRA_MODULES_PATHCmake есть поиск, в котором удобно искать интересующую Вас опцию) и прописываем там путь до внешних модулей, которые мы скачали отдельным архивом opencv_contrib-master.zip. В моем случае путь выглядит так: D:\YAR\_repoz\opencv_contrib-master\opencv_contrib-master\modules.

Рассмотрим флаги, например, BUILD_EXAMPLES включает постройку примеров, можно поставить галочку. BUILD_SHARED_LIBS (по умолчанию стоит галочка) указывает, строить динамические библиотеки или статические. Статические библиотеки будут вшиты в программный код Вашей программы, поэтому ее будет легче переносить с одного компьютера на другой, однако при этом программа будет больше весить. Динамические библиотеки могут использовать все Ваши программы, однако на другом компьютере их может не быть, если OpenCV не будет установлен. WITH_TBB включает использование библиотеки Intel Threading Building Blocks, если у Вас она на компьютере установлена, можете включить эту опцию (однако стоит заметить, что Cmake включает некоторые опции сам, если на компьютере обнаружено необходимое ПО). WITH_CUDA включает использование CUDA для работы с GPU (на компьютере должен быть установлен CUDA). CMAKE_BUILD_TYPE может иметь два состояния, Debug и Release, выберете тип сборки, какой Вам необходим.

После того, как Вы определитесь со всеми опциями, жмем снова кнопку Configure. После того, как Cmake закончит, жмем кнопку Generate. Если все прошло без ошибок, теперь дело стоит за командной строкой. Итак, открываем командную строку и переходим в папку build. Пишем в командной строке mingw32-make и жмем Enter. Должно получиться примерно такое:

Сборка OpenCV началась, теперь надо подождать… Можете пока сходить попить чаю или посмотреть, как хакнуть время.

Если на экране командной строки нет никаких ошибок, и сборка дошла до 100%, то можно написать команду mingw32-make install.

Когда установка OpenCV будет закончена, в папке build или в папке install в папке build должны появиться все необходимые файлы.

В папке include будут размещены все заголовочные .hpp и .h файлы, которые вы будете подключать в своем коде. Далее в папке lib или в моем случае opencv-3.2.0\build\install\x64\mingw\staticlib находятся все библиотеки OpenCV. В моем случае это статичные библиотеки .a. Также здесь должен быть файл, в котором можно посмотреть на порядок подключения этих библиотек, например, файл OpenCVModules.cmake. Если его открыть, можно найти там следующее:

Видите zlib libtiff libjpeg libwebp и т.д., это библиотеки, только тут они перечислены в правильном порядке. Если Вы их подключите не в том порядке, в котором их будет проверять компилятор, то возникнут ошибки, но об этом позже.

В директории opencv-3.2.0\build\install\x64\mingw\bin находятся программы для обучения каскада HAAR’a, которые могут пригодиться в будущем, чтобы обучить детектор OpenCV на интересующие Вас объекты, а тут opencv-3.2.0\build\install\etc\haarcascades находятся уже обученные каскады.

Code::Blocks
Кажется, я говорил, что тру специалист может кодить в блокноте, но пока мы остановимся на среде разработки Code::Blocks. Это свободная кроссплатформенная среда разработки, т.е. Вы сможете пользоваться средой разработки как под Windows, так и под Linux. В данной статье подключение OpenCV будет именно в этой среде разработки. Если Вы еще не знакомы с данной средой для программирования, для Вас есть немного информации под спойлером.

Наверху в среде разработки есть иконка с желтой шестеренкой, нажмите на нее, чтобы скомпилировать программу. Затем нажмите на иконку, похожую на кнопку Play, и программа запустится. Все вышеперечисленные действия можно посмотреть в виде анимации ниже.

Читайте также:  Tos6205 driver windows 7 x64

Проблемы с Code::Blocks

Иногда запущенную программу не получается закрыть. Чаще всего это бывает, если сделать завершение работы программы через среду разработки, нажав иконку Abort. В этом случае зайдите в диспетчер задач и посмотрите процессы. Снимите задачу, которая является Вашей программой.

Также бывает, что после подключения заголовочных файлов Code::Blocks начинает жутко тормозить. Эту проблему можно решить, убрав галочку в пункте Update parser when typing (on save otherwise) в настройках среды разработки (Settings → Editor… → Code completion).

Подключение OpenCV в Code Blocks

И вот настал долгожданный момент. OpenCV можно подключить как к конкретному проекту, так и в глобальных настройках среды программирования Code Blocks, чтобы потом не возиться с настройками для каждого проекта с OpenCV в отдельности. Оба варианта реализуются почти одинаково. Итак, сначала подключим библиотеки. Хочу напомнить, что, если Вы собрали OpenCV с использованием динамических библиотек, то файлы с расширением dll (которые Вы должны найти где-то в папке с собранной библиотекой) нужно переместить или в папку с Вашей программой (кинуть их в папку с проектом Code Blocks) или скопировать их в папку операционной системы system32. Хотя по идее все должно работать, если эти файлы будут находиться в одном из путей, прописанных в PATH. В противном случае Ваша программа скомпилируется, но при запуске выдаст ошибку. В моем случае OpenCV собрана с использованием статических библиотек.

Итак, сначала подключим библиотеки. Заходим в настройки компилятора (Settings → Compiler… → Global Compiler Settings → Linker Settings) и добавляем туда все файлы библиотек (в моем случае эти файлы находятся тут opencv-3.2.0\opencv-3.2.0\build\install\x64\mingw\staticlib). Далее идем в настройки Search directories и во вкладке Compiler и Linker прописываем пути до папок с заголовочными файлами OpenCV. В моем случае эти пути такие: D:\YAR\_repoz\opencv-3.2.0\opencv-3.2.0\build\install\include (обязательно!), D:\YAR\_repoz\opencv-3.2.0\opencv-3.2.0\build\install\include\opencv2 и D:\YAR\_repoz\opencv-3.2.0\opencv-3.2.0\build\install\include\opencv для удобства подключение заголовочных файлов (чтобы вместо #include «opencv2\cv.hpp» писать сразу #include );

Для OpenCV версии 2.0 на данном этапе (скорее всего) всё было бы уже готово. Однако для версии 3.1 и 3.2 при попытке скомпилировать программу появится ошибка. Попробуйте запустить эту программу:

После неудачной попытки ее скомпилировать может появится, например, такая ошибка:

Это означает, что техническое зрение — очень сложное направление, и зря Вы решили этим заняться. В мире есть много других профессий, где не надо разбираться в программировании и, тем более, в техническом зрении. В области IT уже все давно придумали за Вас, и нет смысла пытаться что-то сделать самому, и, уж тем более, лезть в стартапы. Осталось лишь принять тот факт, что Вы обречены остаться всего лишь потребителем высоких технологий до конца своих дней… Шучу, конечно!

Ошибки во время компиляции программы с библиотекой OpenCV

Итак, разберемся в ошибках.

undefined reference to `GOMP_parallel’

Из лога ошибки видно, что проблема кроется в файле libopencv_core320 библиотеки OpenCV, компилятор не знает, что такое GOMP_parallel. Подобные ошибки обычно означают то, что некая библиотека не была подключена. В данном случае эта библиотека OpenMP, о которой я говорил в начале статьи, когда писал про компилятор GCC. Подключим её и посмотрим дальше. О том, как подключить OpenMP в проект, Вы можете прочитать тут.

Теперь при попытке скомпилировать могут снова возникнуть ошибки, например, такие:

Важная информация из лога ошибки

Из этого лога видно, что проблема в библиотеке GDI, которая позволяет приложениям использовать графику и форматированный текст на мониторе и принтере. Добавим ее точно так же, как предыдущую библиотеку.

Еще одна ошибка, наверное, самая важная.

В логах видно, что имеет место быть какая-то библиотека Imf, например, undefined reference to Imf::Chromaticities::Chromaticities. Однако эта библиотека уже есть в составе OpenCV, да и к тому же мы её уже подключили!

Дело в том, что компилятор проверяет библиотеки в среде Windows, начиная с конца того списка библиотек, которые мы добавили. И как видно на картинке, файл libIlmImf.a находится в начале, и в итоге компилятор находит сначала библиотеку, в которой используются функции из файла libIlmImf.a, а затем находит файл libIlmImf.a, но уже поздно — он уже сообщил, что есть ошибка. Этот вопрос разрешается просто — нужно привести наш список библиотечных файлов в правильный порядок. Делается это кнопками «вверх» и «вниз», которые я отметил на картинке.

Так порядок подключения выглядит в Code Blocks:


А вот список, который в Code Blocks придется заполнять снизу вверх.

zlib
libtiff
libjpeg
libwebp
libjasper
libpng
IlmImf
opencv_core
opencv_flann
opencv_imgproc
opencv_ml
opencv_photo
opencv_reg
opencv_surface_matching
opencv_video
libprotobuf
opencv_dnn
opencv_fuzzy
opencv_imgcodecs
opencv_shape
opencv_videoio
opencv_highgui
opencv_objdetect
opencv_plot
opencv_superres
opencv_xobjdetect
opencv_xphoto
opencv_bgsegm
opencv_bioinspired
opencv_dpm
opencv_face
opencv_features2d
opencv_line_descriptor
opencv_saliency
opencv_text
opencv_calib3d
opencv_ccalib
opencv_datasets
opencv_rgbd
opencv_stereo
opencv_tracking
opencv_videostab
opencv_xfeatures2d
opencv_ximgproc
opencv_aruco
opencv_optflow
opencv_phase_unwrapping
opencv_stitching
opencv_structured_light

Еще одна возможная ошибка:

Она разрешается добавлением библиотеки Comdlg32. Для этого просто добавьте Comdlg32 в Linker Settnigs.

Теперь, если во время компиляции программы ошибок не возникло, можно запустить программу. Если Вы использовали пример программы из моей статьи, должно получиться что-то вроде этого:

Update
Уже после написания данной статьи я обнаружил еще пару ошибок типа undefined reference to. Ниже приведены списки ошибок и библиотеки, которые необходимо добавить чтобы исправить ситуацию.

Отсутствие подключенной библиотеки Ole32 вызывает следующие ошибки:
undefined reference to `__imp_CoTaskMemFree’
undefined reference to `__imp_CoCreateInstance’
undefined reference to `__imp_CoCreateInstance’

Отсутствие подключенной библиотеки OleAut32 вызывает следующую ошибку:
undefined reference to `__imp_OleCreatePropertyFrame’

Отсутствие подключенной библиотеки uuid вызывает следующие ошибки:
undefined reference to `IID_IPersistStream’
undefined reference to `IID_IUnknown’
undefined reference to `IID_ISpecifyPropertyPages’
undefined reference to `IID_IPropertyBag’

Отсутствие подключенной библиотеки Vfw32 или Avifil32 вызывает следующие ошибки:
undefined reference to `AVIStreamRelease’
undefined reference to `AVIFileRelease’
undefined reference to `AVIFileOpenA’
undefined reference to `AVIFileCreateStreamA’
undefined reference to `AVISaveOptions’
undefined reference to `AVIMakeCompressedStream’
undefined reference to `AVIStreamSetFormat’
undefined reference to `AVIStreamWrite’

Не забудьте подключить их в своем Code::Blocks!

Update: не работает чтение avi файла
Если при использовании cv::VideoCapture возникли проблемы, а именно OpenCV не хочет открывать видео файлы, то вам просто необходимо скопировать в папку со своей программой dll библиотеку opencv_ffmpeg (в моем случае она называется opencv_ffmpeg320_64.dll, версия opencv 3.2, находилась тут: opencv-3.2.0\build\install\x64\mingw\bin).

Установка OpenCV для новичка может показаться очень сложным занятием, так как вероятность столкнуться с ошибками велика, а знаний, чтобы понять что к чему еще не так много. Надеюсь, данная статья поможет всем, кто только начинает программировать, и сэкономит Вам пару дней или недель поисков в интернете. И напоследок. Может быть, Вы задаетесь вопросом, сколько же нужно времени, чтобы стать тру специалистом? Ответ на этот вопрос есть под спойлером.

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector