2011-03-06 30 views
7

Tôi đang cố gắng chạy một số mã được biên dịch trước (mã nguồn không có sẵn) trên Ubuntu, yêu cầu phải cài đặt openCV. Tôi đã cài đặt phiên bản mới nhất của openCV (từ SVN) ngày hôm qua và cài đặt nó theo hướng dẫn cài đặt debian trên trang web openCV (cmake -> make -> sudo make install) và mọi thứ dường như vẫn ổn.libcxcore.so.2 bị thiếu trong openCV

Bây giờ khi tôi cố gắng chạy mã biên dịch trước, tôi gặp lỗi "./stipdet: lỗi khi tải thư viện được chia sẻ: libcxcore.so.2: không thể mở tệp đối tượng được chia sẻ: Không có tệp hoặc thư mục" Dường như những người khác đang gặp vấn đề tương tự được quản lý để khắc phục sự cố bằng cách di chuyển libcxcore.so.2 từ thư mục lib opencv sang một nơi khác, nhưng tôi không có libcxcore.so.2 trong thư mục opencv của mình. Tôi thấy libopencv_core.so.2.2 ở đó trong số những thứ khác. Có thể nào tên của libcxcore đã được thay đổi trong phiên bản mới nhất của openCV? Hoặc tôi đã không cài đặt nó một cách chính xác?

btw: chạy định vị libcxcore trong thiết bị đầu cuối trả về không có gì

+0

làm việc trên STIP? –

+1

Vâng, tôi muốn sử dụng máy dò STIP của Laptev và bộ mô tả HOGHOF. Rất may, nó hoạt động ngay bây giờ :) – Bart

Trả lời

8

Tôi đã gặp vấn đề tương tự và tôi giải quyết được vấn đề bằng cách cài đặt libcv, libcvaux, libhighgui và các thư viện -dev của họ từ Synaptics. Nhưng chương trình phụ thuộc vào thư viện chia sẻ libcv.so.2 nhưng Synaptics cài đặt libcv.so.4.0.0. Vì vậy, tôi đã tạo liên kết tượng trưng cho mỗi thư viện được cài đặt bằng cách chạy lệnh:

sudo ln -s /usr/lib/libcxcore.so.4.0.0 /usr/lib/libcxcore.so.2 

và cứ như vậy cho mọi thư viện mà chương trình cần. Bây giờ nó đang làm việc tốt cho tôi.

+0

Cảm ơn, tôi sẽ thử điều này nếu nó không hoạt động trực tiếp với OpenCV 2.1 – Bart

+0

Tôi đã thử nó và nó hoạt động! Cảm ơn rất nhiều – Bart

+0

Vui vì tôi có thể trợ giúp. –

1

Có, tên thư viện đã thay đổi. Hãy thử OpenCV 2.1 hoặc 2.0 (nó thay đổi cho 2.2 hoặc 2.1 tôi nghĩ). Nếu mã biên dịch sẵn của bạn là dành cho ubuntu, tại sao bạn không cài đặt gói opencv ubuntu?

+0

Tôi đã thử gói ubuntu biên dịch sẵn của Gijs Molenaar thông qua lệnh apt-get, nhưng tôi nhận được lỗi nói rằng nó không tải được – Bart

+0

@bart: có các gói hệ thống opencv, như bạn đã nhận thấy . – etarion

9

Tôi gặp vấn đề tương tự khi làm việc với STIP và OpenCV 2.2. Để giải quyết vấn đề, chỉ cần tạo các liên kết tượng trưng như dưới đây. Nó làm việc cho tôi.

libcvaux.so.2 -> /usr/lib/libopencv_video.so.2.2.0 
libcv.so.2 -> /usr/lib/libopencv_legacy.so.2.2.0 
libcxcore.so.2 -> /usr/lib/libopencv_core.so.2.2.0 
libhighgui.so.2 -> /usr/lib/libopencv_highgui.so.2.2.0 
libml.so.2 -> /usr/lib/libopencv_ml.so.2.2.0 
3

một bổ sung nhỏ đến (đúng) câu trả lời bằng Zifei Tong: Một cần phải làm cho các liên kết tượng trưng VÀ cũng cần phải xuất khẩu LD_LIBRARY_PATH cho bash, đó là:

libcvaux.so.2 -> /usr/lib/libopencv_video.so.2.2.0 
libcv.so.2 -> /usr/lib/libopencv_legacy.so.2.2.0 
libcxcore.so.2 -> /usr/lib/libopencv_core.so.2.2.0 
libhighgui.so.2 -> /usr/lib/libopencv_highgui.so.2.2.0 
libml.so.2 -> /usr/lib/libopencv_ml.so.2.2.0 

export LD_LIBRARY_PATH="path to symbolic links' directory"