C++, opencv - po aktualizacji nie można kompilować programów
: 18 czerwca 2011, 23:34
Witam serdecznie.
Dokonałem aktualizacji systemu (Wheezy) i od tego momentu w trakcie próby kompilacji z użyciem biblioteki opencv wyświetla mi coś takiego:
Nie przypuszczam żeby w repozytoriach znalazły się biblioteki, które nie działają, więc prawdopodobnie to kwestia konfiguracji, jednak nie mam pomysłu jak ten problem zniwelować.
Zamieszczam jeszcze wynik:
może ktoś dostrzeże błąd w nim tkwiący (jeżeli tam jest).
Dodane:
Poniekąd znalazłem odpowiedź, może się komuś przydać:
Kompiluje się ze starszą wersją g++
Czy ma może ktoś pomysł co jest przyczyną?
Dokonałem aktualizacji systemu (Wheezy) i od tego momentu w trakcie próby kompilacji z użyciem biblioteki opencv wyświetla mi coś takiego:
Kod: Zaznacz cały
g++ -c opencv_webcam.cpp -o webcam.o -I/usr/include/opencv
In file included from /usr/include/opencv/cxcore.h:1826:0,
from /usr/include/opencv/cv.h:58,
from opencv_webcam.cpp:1:
/usr/include/opencv/cxcore.hpp:177:13: error: ‘ptrdiff_t’ does not name a type
In file included from /usr/include/opencv/cxcore.hpp:2307:0,
from /usr/include/opencv/cxcore.h:1826,
from /usr/include/opencv/cv.h:58,
from opencv_webcam.cpp:1:
/usr/include/opencv/cxoperations.hpp:2043:15: error: ‘ptrdiff_t’ does not name a type
/usr/include/opencv/cxoperations.hpp:2591:31: error: ‘ptrdiff_t’ does not name a type
In file included from /usr/include/opencv/cxcore.hpp:2308:0,
from /usr/include/opencv/cxcore.h:1826,
from /usr/include/opencv/cv.h:58,
from opencv_webcam.cpp:1:
/usr/include/opencv/cxmat.hpp: In member function ‘void cv::Mat::locateROI(cv::Size&, cv::Point&) const’:
/usr/include/opencv/cxmat.hpp:387:5: error: ‘ptrdiff_t’ was not declared in this scope
/usr/include/opencv/cxmat.hpp:387:5: note: suggested alternatives:
/usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h:156:28: note: ‘std: :p trdiff_t’
/usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h:156:28: note: ‘std: :p trdiff_t’
/usr/include/opencv/cxmat.hpp:387:15: error: expected ‘;’ before ‘delta1’
/usr/include/opencv/cxmat.hpp:389:9: error: ‘delta1’ was not declared in this scope
/usr/include/opencv/cxmat.hpp:398:31: error: ‘delta2’ was not declared in this scope
/usr/include/opencv/cxmat.hpp: In member function ‘cv::Point cv::MatConstIterator_<_Tp>: :p os() const’:
/usr/include/opencv/cxmat.hpp:3459:9: error: ‘ptrdiff_t’ was not declared in this scope
/usr/include/opencv/cxmat.hpp:3459:9: note: suggested alternatives:
/usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h:156:28: note: ‘std: :p trdiff_t’
/usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h:156:28: note: ‘std: :p trdiff_t’
/usr/include/opencv/cxmat.hpp:3459:19: error: expected ‘;’ before ‘ofs’
/usr/include/opencv/cxmat.hpp:3460:23: error: ‘ofs’ was not declared in this scope
/usr/include/opencv/cxmat.hpp:3460:66: error: expected ‘)’ before ‘y’
/usr/include/opencv/cxmat.hpp:3465:9: error: ‘ptrdiff_t’ was not declared in this scope
/usr/include/opencv/cxmat.hpp:3465:9: note: suggested alternatives:
/usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h:156:28: note: ‘std: :p trdiff_t’
/usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h:156:28: note: ‘std: :p trdiff_t’
/usr/include/opencv/cxmat.hpp:3465:19: error: expected ‘;’ before ‘ofs’
/usr/include/opencv/cxmat.hpp:3466:23: error: ‘ofs’ was not declared in this scope
make: *** [opencv_webcam] Błąd 1
Zamieszczam jeszcze wynik:
Kod: Zaznacz cały
makefile
Kod: Zaznacz cały
CC = g++
CFLAGS = -I/usr/include/opencv
LINKS= -L/usr/lib -lm -lcv -lhighgui -lcvaux
all: webcam opencv_webcam
webcam: opencv_webcam
$(CC) webcam.o $(LINKS) -o webcam
opencv_webcam: opencv_webcam.cpp
$(CC) -c opencv_webcam.cpp -o webcam.o $(CFLAGS)
Dodane:
Poniekąd znalazłem odpowiedź, może się komuś przydać:
Kompiluje się ze starszą wersją g++
Kod: Zaznacz cały
CC = g++-4.5