2017-09-04 65 views
0

我下載opencv 3.1.0與cmake的建立是我未選中BUILD_SHARED_LIBS開放CV建立與cmake的找不到的libjpeg

建設完成後,我嘗試編譯的C++代碼的靜態庫,這是我

CMakeListed.txt文件

cmake_minimum_required(VERSION 2.8)      
    PROJECT(word)    
    set(OpenCV_DIR "/home/medozeus/videos/opencv/share/opencv")      
    FIND_PACKAGE(OpenCV REQUIRED)        
    INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS}) 
    ADD_EXECUTABLE(wordx main.cpp)       
    TARGET_LINK_LIBRARIES (wordx ${OpenCV_LIBS}) 

其編譯沒有錯誤,我運行的程序也沒有錯誤,但是當我將程序發送到另一臺電腦並運行它給我

錯誤而載入共享庫:libjpeg.so.8:無法打開共享對象文件:沒有這樣的文件或目錄

這是我3rdparty文件夾中的內容建立後

enter image description here

和裏面的lib 3rdparty內容

enter image description here

但是源代碼都在圖書館中,我不知道爲什麼,當我建立它只有在建的3rdParty一個庫mabye這會導致錯誤

錯誤而載入共享庫:libjpeg.so.8:無法打開共享對象文件:沒有這樣的文件或目錄

這是我在開放CV的源代碼3rdparty文件夾內容

enter image description here

任何想法

+0

檢查此鏈接:https://stackoverflow.com/questions/14077611/how-do-i-tell-cmake-to-link-in-a-static-在源代碼目錄中 – zindarod

回答

3

該錯誤意味着目標機器上沒有libjpeg.so.8文件正在運行您的可執行文件。你可以嘗試安裝它:

sudo apt-get install libjpeg-dev

+1

爲了給你的答案增加一點點,OpenCV有相當多的依賴關係(其中很多是可選的),但是我會建議@medo去看看這個[tutorial ](http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/)添加到依賴項的一部分,以便能夠安裝最常用的 – api55