Я получаю сообщение об ошибке при компиляции кода C++.Неопределенная ссылка на `cvCreateBGCodeBookModel '
$g++ basic100.cpp -o test -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect
/tmp/ccWqj7E2.o: In function `main':
basic100.cpp:(.text+0x67): undefined reference to `cvCreateBGCodeBookModel'
basic100.cpp:(.text+0x2c6): undefined reference to `cvBGCodeBookUpdate'
basic100.cpp:(.text+0x31d): undefined reference to `cvBGCodeBookClearStale'
basic100.cpp:(.text+0x374): undefined reference to `cvBGCodeBookDiff'
basic100.cpp:(.text+0x3c8): undefined reference to `cvSegmentFGMask'
collect2: error: ld returned 1 exit status
Код работал нормально на ноутбуке моего друга. Моя система - 32-битный Linux Mint, в то время как у них 64bit Ubuntu 14.04. Команда
компиляции используется в ноутбуке моего друга $ г ++ -o FFF basic100.cpp pkg-config --cflags --libs opencv
Это, как я использовал cvCreateBGCodeBoolModel()
(model definition :CvBGCodeBookModel* model = 0;//outside main())
model = cvCreateBGCodeBookModel();
ли гугле что-нибудь? – simonwo
Похоже, вам не хватает одной из библиотек, включенных 'pkg-config --cflags'. Проверьте на компьютере вашего друга списки библиотек 'pkg-config'. – molbdnilo
Спасибо molbdnilo, Попытка выяснить проблему с cflags, Я, наконец, приземлился по ошибке в ffmpeg. Но, наконец, я переустановил систему с помощью ubuntu 14.04, И теперь все работает нормально. Я также чувствую, что мой код (вычитание фона) не работает с Opencv 3.0. –