ubuntu常用命令總結

2021-10-11 02:58:54 字數 1463 閱讀 3047

通常在軟體編譯時出現的usr/bin/ld: cannot find -l***的錯誤,主要的原因是庫檔案並沒有匯入的ld檢索目錄中(檢索目錄為/usr/lib,和/usr/local/lib)。

解決方式:

1。確認庫檔案是否存在,比如-l123, 在/usr/lib, /usr/local/lib,或者其他自定義的lib下有無lib123.so, 如果只是存在lib123.so.1,

那麼可以通過ln -sv lib123.so.1 lib123.so,建立乙個連線重建lib123.so.(注意,鏈結的路徑需要寫為絕對路徑)

2。檢查/etc/ld.so.conf中的庫檔案路徑是否正確,如果庫檔案不是使用系統路徑,/usr/lib, /usr/local/lib, 那麼必須在檔案中加入。

3。ldconfig 重建ld.so.cache檔案,ld的庫檔案檢索目錄存放檔案。尤其剛剛編譯安裝的軟體,必須執行ldconfig,才能將新安裝的庫檔案匯入ld.so.cache.

安裝ubantu 下常用的庫安裝位置有兩個:/usr 和/usr/local. 通過apt-get 安裝的庫位於/usr,自己make install的庫通常位於/usr/local下。安裝位置通常按照 include,lib,share資料夾來組織,include和lib分別存放標頭檔案和庫檔案,而cmake模組通常在share裡。如果我們要將庫安裝到自己指定的位置只需要在cmake時給cmake_install_prefix賦值即可,cmake dcmake_install_prefix=/usr/my,這樣庫就安裝到/usr/my下了,在使用時find_package是找不到這個位置的,需要指定模組的位置才能正常使用.

使用find_package()命令的原理是找到模組檔案,並從中提取變數,之後我們就能正常使用opencv_lib等變數了.模組檔案字尾是cmake,通常位於/usr/share或/usr/local/share下,cmake預設搜尋的也是這兩個位置.嘗試以下cmakelist,將搜尋出系統中所有opencv模組的位置以及版本

project(test)

cmake_minimum_required(version 2.8)

find_package(opencv 8 required)#嘗試找乙個不存在的版本

通常我們需要使用特定版本,在cmake之前賦值opencv_dir變數為自己需要的opencv版本的模組位置即可.

project(test)

cmake_minimum_required(version 2.8)

set(opencv_dir /usr/share/opencv/)#這裡寫自己需要的opencv版本的模組位置

find_package(opencv required)

message(katex parse error: expected 'eof', got '#' at position 18: …pencv_version})#̲輸出看一下 message()

sudo cp -r * /usr/local

Ubuntu常用命令總結

目錄 掛載ftp命令 將伺服器的資料夾掛載到本地 終端命令 遠端連線伺服器 檔案 資料夾的操作 bashrc檔案修改 磁碟相關命令 字元介面與圖形化介面切換 cat資料集拼接 sudo mount 192.168.gao home gao ftp 本地硬碟 sudo mount dev sda1 d...

Ubuntu總結常用命令記錄

功能 如何看系統是多少位 命令列下uname a 桌面下開啟終端 ctrl alt t linux下檢視 白色 表示普通檔案 藍色 表示目錄 綠色 表示可執行檔案 紅色 表示壓縮檔案 淺藍色 鏈結檔案 黃色 表示裝置檔案 灰色 表示其他檔案 命令 是 顯示上一條命令及上一條命令的結果 使用者家目錄,...

Ubuntu系統常用命令總結

摘要 此篇的命令不全,只是lz學習linux常用命令時,覺得有必要記錄一下的 history 顯示命令歷史 ctrl r 進入命令自動補全模式 tree file 以樹狀結構顯示某個檔案下的所有檔案 此命令要安裝 sudo apt get install treemkdir a 建立a目錄 mkdi...