關於動態庫so的makefile編寫

測試的相關代碼目錄結構

在這裏插入圖片描述

代碼源文件

在這裏插入圖片描述
在這裏插入圖片描述

兩個目錄下的Makefile文件如下

在這裏插入圖片描述

操作步驟

  • 執行make
    在main.c文件所在目錄執行make,會自動首先執行./lib下的make(因爲Makefile文件裏面有寫,紅圈部分),最終生成的可執行文件爲test
  • 查看鏈接情況
    使用命令ldd test查看test鏈接動態庫文件的情況:
    在這裏插入圖片描述

  • not found情況處理
    此情況表示鏈接器找不到我們需要的那個so文件,那麼需要執行命令
    export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH,表示將./lib目錄加入到查找共享庫的搜索路徑,LD_LIBRARY_PATH是Linux環境變量名,該環境變量主要用於指定查找共享庫(動態鏈接庫)時除了默認路徑之外的其他路徑。執行之後再次查看ldd test:
    在這裏插入圖片描述


  • 執行./test
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章