我參考this在我的Raspberry Pi 2上安裝OpenCV(它運行在內核版本爲4.1的最新Raspbian上。 7-V7)。由於依賴性錯誤,我無法安裝libgtk2.0-dev,但是我能夠安裝OpenCV而沒有任何錯誤。libopencv_calib3d:未定義的引用'std :: __ throw_out_of_range_fmt(char const *,...)@ GLIBCXX_3.4.20'
我試圖交叉編譯Qt中一些簡單的OpenCV的代碼爲我的樹莓派2。但我正在逐漸連接階段以下錯誤:
/usr/local/lib/libopencv_calib3d.so: undefined reference to
std::__throw_out_of_range_fmt(char const*, ...)@GLIBCXX_3.4.20
我的代碼是:
myFunc {
VideoCapture cap(0);
if (!cap.isOpened()) {
qDebug() << "Cannot open the video cam";
return;
}
double dWidth = cap.get(CV_CAP_PROP_FRAME_WIDTH);
double dHeight = cap.get(CV_CAP_PROP_FRAME_HEIGHT);
qDebug() << "Frame size : " << dWidth << " x " << dHeight;
namedWindow("MyVideo",CV_WINDOW_AUTOSIZE);
while (1) {
Mat frame;
bool bSuccess = cap.read(frame);
if (!bSuccess) {
qDebug() << "Cannot read a frame from video stream";
break;
}
imshow("MyVideo", frame);
if (/*condition*/) {
break;
}
}
}
我試着改變庫鏈接的順序。但錯誤仍然存在。我.pro
文件中查找此:
QT += core gui quick xml widgets
TARGET = myApp
TEMPLATE = app
QMAKE_CXXFLAGS += -I/mnt/rasp-pi-rootfs/usr/include \
-I/mnt/rasp-pi-rootfs/usr/include/libxml2 \
-I/mnt/rasp-pi-rootfs/usr/include/glib-2.0/glib \
-I/mnt/rasp-pi-rootfs/usr/include/glib-2.0 \
-I/mnt/rasp-pi-rootfs/usr/lib/arm-linux-gnueabihf/glib-2.0 \
-I/mnt/rasp-pi-rootfs/usr/lib/arm-linux-gnueabihf/glib-2.0/include \
-I/mnt/rasp-pi-rootfs/usr/include/gstreamer-1.0 \
-I/mnt/rasp-pi-rootfs/usr/local/include \
QMAKE_CXXFLAGS += -Wno-psabi
QMAKE_LIBDIR_FLAGS += -L/mnt/rasp-pi-rootfs/usr/lib \
-L/mnt/rasp-pi-rootfs/lib \
-L/mnt/rasp-pi-rootfs/usr/local/lib \
QMAKE_LFLAGS += -lgmodule-2.0 \
-lz \
-lxml2 \
-lgthread-2.0 \
-lrt \
-lglib-2.0 \
-lpthread \
-lgstreamer-1.0 \
-lgobject-2.0 \
-lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_objdetect -lopencv_ts -lopencv_video \
SOURCES += /* all .cpp files */
HEADERS += /* all .h files */
我怎樣才能解決這個問題?
UPDATE
我設法安裝libgtk2.0-dev的和重新編譯的OpenCV。但錯誤依然存在。
您是否曾嘗試安裝[libgtk2.0-dev](https://packages.debian.org/wheezy/libgtk2.0-dev)的依賴關係? – agold