利用Cmake編譯Caffe

2021-07-23 11:00:33 字數 1455 閱讀 7937

1.安裝好caffe需要用到的各種庫

建議盡量使用apt-get安裝方式,這樣方便以後使用

2.新建資料夾

在caffe根目錄下執行:

mkdir cmake_build

cd cmake_build

cmake ..

之後輸入

make -j 4

make -j 4

這裡應該是我配置有問題的原因,第一次不會執行,第二次開始編譯。我遇到的問題是:

cmake error at cmakelists.txt:83 (add_dependencies):

the dependency target "pycaffe" of target "pytest" does not exist.

目前還未解決。

接下來輸兩次

make install

make install

在利用cmake編譯caffe時,出現如下錯誤:

linking cxx shared library ../../lib/libcaffe-d.so

/usr/bin/ld: /usr/local/lib/libcblas.a(cblas_sgemv.o): relocation r_x86_64_32 against `.rodata.str1.1' can not be used when ****** a shared object; recompile with -fpic

/usr/local/lib/libcblas.a: error adding symbols: bad value

collect2: error: ld returned 1 exit status

make[2]: *** [lib/libcaffe-d.so.1.0.0-rc3] error 1

make[1]: *** [src/caffe/cmakefiles/caffe.dir/all] error 2

make: *** [all] error 2

編輯build資料夾下的cmakecache.txt,將

//path to a library.

atlas_cblas_library:filepath=

改為:

//path to a library.

atlas_cblas_library:filepath=/usr/lib/libcblas.so //

應該是機器上利用不同方式多次裝過這個庫,檔案較為混亂,找不到正確的庫。所以大家安裝的時候能使用apt-get install的盡量這樣安裝,除非你有明確的目的要原始碼安裝,否則確實要做很多任務作,很「鍛鍊」人。

cmake交叉編譯

1 設定交叉編譯之前,必須在 cmakelist.txt 前面加上這樣一句,這樣 cmake 才會認為你是要交叉編譯 set cmake system namelinux 其中linux 是要編譯過去的平台,如果你是在 linux 下交叉編譯 window 的東西,就要寫成 windows 了。我是...

CMake編譯 雜記

一 cmake常見的預置的巨集 project name 通過project指定的專案名稱 project demo project source dir 工程的根目錄,上圖中的demo目錄 project binary dir 執行cmake命令的目錄,一般是在build目錄,在此目錄執行cmak...

cmake編譯報錯

問題 cmake編譯報錯 cmake error the source.此處大概意思是乙個檔案位址does not match the 另外乙個檔案位址so used to generate cache.rerun cmake.經過觀察可以發現兩個檔案位址其實只有一點差異,所以 第一次嘗試 按照第二...