最近需要用到openblas庫,本地ubuntu 系統內有一個版本,但是想用自己新編譯的openblas,
使用cmake指定了鏈接的庫地址,
SET(LINK_LIB_DIRS "/usr/local/lib" "/home/beauty/beautify_linux/3rdparty/OpenBLAS/lib/libopenblas.a") SET(OpenBLAS_LIBRARIES /home/github/OpenBLAS/build/lib/libopenblas.a) SET(OpenCV_LIBRARIES libopencv_core.so libopencv_imgproc.so libopencv_imgcodecs.so libopencv_highgui.so libopencv_videoio.so opencv_objdetect) SET(Other_LIBRARIES libboost_filesystem.so libboost_system.so) SET(LINK_LIBS ${OpenBLAS_LIBRARIES} ${OpenCV_LIBRARIES} ${Other_LIBRARIES})
#INCLUDE_DIRECTORIES(${INCLUDE_DIRS})
LINK_DIRECTORIES(${LINK_LIB_DIRS})
#ADD_LIBRARY(beautify SHARED ${SRC_LIST})
ADD_LIBRARY(beautify_static STATIC ${SRC_LIST})
# 指定靜態庫的輸出名稱
#SET_TARGET_PROPERTIES(beautify_static PROPERTIES OUTPUT_NAME "beautify")
# 使動態庫和靜態庫同時存在
#SET_TARGET_PROPERTIES(beautify PROPERTIES CLEAN_DIRECT_OUTPUT 1)
#SET_TARGET_PROPERTIES(beautify_static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
# 指定動態庫版本
# VERSION 動態庫版本
# SOVERSION API版本
#SET_TARGET_PROPERTIES(beautify PROPERTIES VERSION 1.0 SOVERSION 1)
TARGET_LINK_LIBRARIES(beautify_static ${LINK_LIBS})
但是,但是。。ldd的時候顯示的依賴路徑總是系統目錄下的。。
無奈只能把系統下的刪掉,這時候才能運行程序。
雖然很不優雅。。但是實在着急只能出此下策。。
sudo apt-get remove libopenblas-base