当我编译Caffe时,我遇到了这个错误,尽管安装了OpenBLAS:
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so
/usr/bin/ld: cannot find -lopenblas
collect2: ld devolvió el estado de salida 1
make: *** [.build_release/lib/libcaffe.so] Error 1
有解决方案吗?
答案 0 :(得分:6)
我遇到了同样的问题。甚至将库目录“/ opt / OpenBLAS / lib /”添加到ldconfig缓存也没有帮助(因为我的libopenblas.so位于“/opt/OpenBLAS/lib/libopenblas.so”)。
使用cmake帮助了我。从caffe根目录中试试这个:
mkdir build
cd build
cmake -DBLAS=open ..
make all
make runtest
如果需要使用make,请将libopenblas.so的符号链接添加到/ usr / lib。我做了以下事情:
ln -s /opt/OpenBLAS/lib/libopenblas.so /usr/lib/libopenblas.so
答案 1 :(得分:6)
即使在克隆OpenBlas之后包括基本包,并且将在14.04和16中链接相应的库。
apt install liblapack-dev liblapack3 libopenblas-base libopenblas-dev
apt install liblapack-dev liblapack3 libopenblas-base libopenblas-dev
答案 2 :(得分:0)
我看到了类似的问题(我出于某种原因再次编译caffe)。 我发现构建器正在寻找的库文件(-lcblas或-latlas意味着libcblas.so和libatlas.so)位于/ usr / lib64 / atlas下。所以只需在/ usr / lib64下添加符号链接就像这样。
protocol CustomTableViewCellDelegate{
func getInputed(cell:CustomTableViewCell)
}
//the session is to end
func textFieldDidEndEditing(cell:CustomTableViewCell) {
if delegate != nil {
self.delegate?.getInputed(self)
}
}
func test(cell:CustomTableViewCell) {
print(cell.myTextField.text)
print(cell.myTextField.tag)
print(cell.myTextField2.text)
print(cell.myTextField2.tag)
self.myTableView.reloadData()
}
但我想更合适的方法是设置Makefile.config(CBLAS路径)。 (我认为默认路径会消除它阅读评论的说法,但事实并非如此。)希望这对任何人都有帮助。