С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ под Linux
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
SKaterina
2 / 2 / 0
Регистрация: 24.02.2016
Сообщений: 6
1

В Code Blocks Не работает OpenCV

24.02.2016, 22:47. Просмотров 960. Ответов 5

Помогите. Создала проект OpenCV в Code Blocks. Программа сгенерировала вот такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;
 
int main(int argc, char *argv[])
{
    Mat img = imread("lena.jpg", CV_LOAD_IMAGE_COLOR);
    if(img.empty())
       return -1;
    namedWindow( "lena", CV_WINDOW_AUTOSIZE );
    imshow("lena", img);
    waitKey(0);
    return 0;
}
ничего не меняя в коде, запустила проект и он выдал ошибки
||=== Build: Debug in surf (compiler: GNU GCC Compiler) ===|
obj/Debug/home/dmitry/GTK2/gl/surf/surf/main.o||In function `main':|
/home/dmitry/GTK2/gl/surf/surf/main.cpp|9|undefined reference to `cv::imread(std::string const&, int)'|
/home/dmitry/GTK2/gl/surf/surf/main.cpp|12|undefined reference to `cv::namedWindow(std::string const&, int)'|
/home/dmitry/GTK2/gl/surf/surf/main.cpp|13|undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'|
/home/dmitry/GTK2/gl/surf/surf/main.cpp|13|undefined reference to `cv::imshow(std::string const&, cv::_InputArray const&)'|
/home/dmitry/GTK2/gl/surf/surf/main.cpp|14|undefined reference to `cv::waitKey(int)'|
obj/Debug/home/dmitry/GTK2/gl/surf/surf/main.o||In function `cv::Mat::~Mat()':|
/usr/include/opencv2/core/mat.hpp|278|undefined reference to `cv::fastFree(void*)'|
obj/Debug/home/dmitry/GTK2/gl/surf/surf/main.o||In function `cv::Mat::release()':|
/usr/include/opencv2/core/mat.hpp|367|undefined reference to `cv::Mat::deallocate()'|
||=== Build failed: 7 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

добавила в проект некоторые файлы типа /include/opencv2/highgui/highgui.hpp но это не помогло, как правильно настроить среду, чтоб проект запустился?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2016, 22:47
Ответы с готовыми решениями:

Code::Blocks консоль
Только начал знакомство с Linux. Установил Code::Blocks и написал для теста...

IDE Code::Blocks 10.05.
ОС Убунту 10,04. Установил иде Code::Blocks 10.05, написал минимал прогу: ...

CodeCompletion в Code::Blocks
Всем привет. Начал изучать программирование под X Window. Использую IDE...

Из Makefile в Code::Blocks
Хотел бы узнать, как можно проект, который компилируется при помощи Makefile...

ASCII в Code::Blocks
расскажите как в Code::Blocks вывести эту табличку (ато вместо русских символов...

5
grgdvo
751 / 638 / 226
Регистрация: 02.09.2012
Сообщений: 1,883
24.02.2016, 23:36 2
Видимо у вас как-то неправильно установлен OpenCV. Покажите инф. из вкладки Build Log, какую команду линковки запускает codeblocks??
0
SKaterina
2 / 2 / 0
Регистрация: 24.02.2016
Сообщений: 6
24.02.2016, 23:41  [ТС] 3
Установлено всё через synaptic, вот логи
-------------- Build: Debug in surf (compiler: GNU GCC Compiler)---------------

g++ -o bin/Debug/surf obj/Debug/home/dmitry/GTK2/gl/surf/surf/main.o
obj/Debug/home/dmitry/GTK2/gl/surf/surf/main.o: In function `main':
/home/dmitry/GTK2/gl/surf/surf/main.cpp:9: undefined reference to `cv::imread(std::string const&, int)'
/home/dmitry/GTK2/gl/surf/surf/main.cpp:12: undefined reference to `cv::namedWindow(std::string const&, int)'
/home/dmitry/GTK2/gl/surf/surf/main.cpp:13: undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'
/home/dmitry/GTK2/gl/surf/surf/main.cpp:13: undefined reference to `cv::imshow(std::string const&, cv::_InputArray const&)'
/home/dmitry/GTK2/gl/surf/surf/main.cpp:14: undefined reference to `cv::waitKey(int)'
obj/Debug/home/dmitry/GTK2/gl/surf/surf/main.o: In function `cv::Mat::~Mat()':
/usr/include/opencv2/core/mat.hpp:278: undefined reference to `cv::fastFree(void*)'
obj/Debug/home/dmitry/GTK2/gl/surf/surf/main.o: In function `cv::Mat::release()':
/usr/include/opencv2/core/mat.hpp:367: undefined reference to `cv::Mat::deallocate()'
collect2: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 0 second(s))
7 error(s), 0 warning(s) (0 minute(s), 0 second(s))
0
grgdvo
751 / 638 / 226
Регистрация: 02.09.2012
Сообщений: 1,883
25.02.2016, 01:52 4
Цитата Сообщение от SKaterina Посмотреть сообщение
g++ -o bin/Debug/surf obj/Debug/home/dmitry/GTK2/gl/surf/surf/main.o
Отсюда видно, что codeblocks не подставил библиотеки opencv, с которыми необходимо слинковаться.
Естественно это приводит к ошибкам с неразерешенными ссылками.

Проверить Build Options, вкладки Linker settings и Search directories -> Linker. Причем для всех вариантов сборки (Debug и Release), включая сам проект как "родительскую конфигурацию", которая наследуется.
У вас там скорее всего ничего не прописано, а надо прописать директории где лежит OpenCV и библиотеки, с которыми линковаться.
1
SKaterina
2 / 2 / 0
Регистрация: 24.02.2016
Сообщений: 6
25.02.2016, 21:19  [ТС] 5
А не подскажите, где найти инструкцию по настройке? я сама не разобралась

Добавлено через 1 час 11 минут
Спасибо! Всё, я решила проблему, оказывается в linker setting в other linker options надо вписать
-lopencv_core
-lopencv_imgproc
-lopencv_highgui
-lopencv_ml
-lopencv_video
-lopencv_features2d
-lopencv_calib3d
-lopencv_objdetect
-lopencv_contrib
-lopencv_legacy
-lopencv_flann
2
dio4
0 / 0 / 0
Регистрация: 29.10.2014
Сообщений: 11
01.06.2018, 10:08 6
Умничка ты и мне помогло
0
01.06.2018, 10:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2018, 10:08

вопросы по Code Blocks
добрый день уважаемые програмисты. не так давно по учебной надобности стал...

C++config и Code::Blocks
У меня возникла проблема: я в Code::Blocks создал OpenGL проект и подключил...

[Code::Blocks 10.05] не работают подсказки
Что-то случилось и перестали работать эти самые подсказки(в настройках не...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru