dyld:未加载库:@rpath/libopenblas.dylib



当我制作文件时,我会出现以下错误:

dyld:未加载库:@rpath/libopenblas.dylib引用来自:/Users/danyunhe2/rein_learning2/cpp_original//navig_test
原因:找不到图像中止陷阱:6

我尝试了ln -sf <original path> /usr/local/lib,但它不起作用
从啤酒信息打开我得到:

openblas: stable 0.3.5 (bottled), HEAD [keg-only]  
Optimized BLAS library  
https://www.openblas.net/  
/usr/local/Cellar/openblas/0.3.5 (22 files, 120.7MB)  
Poured from bottle on 2019-02-18 at 01:27:14  
From: https://github.com/Homebrew/homebrew-  core/blob/master/Formula/openblas.rb 
==> Dependencies  
Required: gcc ✔  
==> Options  
--HEAD  
Install HEAD version  
==> Caveats  
openblas is keg-only, which means it was not symlinked into /usr/local,
because macOS provides BLAS and LAPACK in the Accelerate framework.  
For compilers to find openblas you may need to set:  
export LDFLAGS="-L/usr/local/opt/openblas/lib"  
export CPPFLAGS="-I/usr/local/opt/openblas/include"  

它告诉我用LDFLAGS和CPPFLAGS设置编译器。我试过了,但没用。有人知道该怎么处理吗?

我的配置.mk为:

# C++ compiler
cxx=g++-7 -fopenmp 
# Compilation flags
cflags=-Wall -ansi -pedantic -O3 
# BLAS/LAPACK flags for linear algebra
lp_lflags=-framework Accelerate 

# FFTW flags (installed via Homebrew)
fftw_iflags=
fftw_lflags=-lfftw3
# libpng flags (installed via Homebrew)
png_iflags=
png_lflags=-lpng

和Makefile:

# Load the common configuration file
include config.mk
iflags=`gsl-config --cflags`
lflags=`gsl-config --libs`
objs=navigate.o reinf_learn.o common.o
src=$(patsubst %.o,%.cc,$(objs))
execs=navig_test
all:
$(MAKE) executables
executables: $(execs)
depend: $(src)
$(cxx) $(iflags) -MM $(src) >Makefile.dep
-include Makefile.dep
navig_test: navig_test.cc $(objs)
$(cxx) $(cflags) $(iflags)  -o $@ $^ $(lflags)
%.o: %.cc
$(cxx) $(cflags) $(iflags)  -c $<
clean:
rm -f $(execs) $(objs)
.PHONY: clean all executables depend

在OSX上,它是DYLD_LIBRARY_PATH,您需要在运行时这样指定:

export DYLD_LIBRARY_PATH=/usr/local/opt/openblas/lib

然而,请感谢brew关于Accelerate框架的警告。对于各种级别上的许多BLAS操作,它要快得多。你只会让程序运行得更慢。

相关内容

  • 没有找到相关文章

最新更新