我正在试图编译其他人的代码,而且没有简单的头文件。我需要在osx上链接默认的lapack和blas库,经过一些搜索之后,我发现它们在加速框架中,在我的make.inc中我使用了如下内容
LAPACK_LIBS = -framework Accelerate现在我在手册中读到了我应该包括的
#include <Accelerate/Accelerate.h>有什么办法可以在make.inc里做到吗?
抱歉,如果这太蠢了,我不是真正的程序员,我已经尽了最大的努力去搜索.
我所犯的错误是:
2 warnings generated.
Undefined symbols for architecture x86_64:
"_dgemm_", referenced from:
_umfdi_blas3_update in libumfpack.a(umf_di_blas3_update.o)
"_dgemv_", referenced from:
_umfdi_local_search in libumfpack.a(umf_di_local_search.o)
"_dger_", referenced from:
_umfdi_blas3_update in libumfpack.a(umf_di_blas3_update.o)
"_dtrsm_", referenced from:
_umfdi_blas3_update in libumfpack.a(umf_di_blas3_update.o)
"_dtrsv_", referenced from:
_umfdi_local_search in libumfpack.a(umf_di_local_search.o)
"_main", referenced from:
start in crt1.10.5.o
(maybe you meant: _luaH_mainposition)
"_zgemm_", referenced from:
_umfzi_blas3_update in libumfpack.a(umf_zi_blas3_update.o)
"_zgemv_", referenced from:
_umfzi_local_search in libumfpack.a(umf_zi_local_search.o)
"_zgeru_", referenced from:
_umfzi_blas3_update in libumfpack.a(umf_zi_blas3_update.o)
"_ztrsm_", referenced from:
_umfzi_blas3_update in libumfpack.a(umf_zi_blas3_update.o)
"_ztrsv_", referenced from:
_umfzi_local_search in libumfpack.a(umf_zi_local_search.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
mex: link of ' "meshmex.mexmaci64"' failed.
make[2]: *** [meshmex.] Error 1
make[1]: *** [all] Error 2
make: *** [all] Error 2发布于 2013-10-27 07:28:16
#include行将进入一个或多个源文件,无论哪个源文件使用加速框架中的API。您收到编译错误了吗?如果没有,那么就没有必要添加这样的包含行。如果您是,那么您需要在任何文件的顶部附近添加它,无论哪个文件遇到了由于缺少这些声明而导致的错误。
https://stackoverflow.com/questions/19615629
复制相似问题