我正在为我的项目尝试不同的C线性代数库,现在我想学习BLAS(CBLAS)。我正在尝试按照教程here。我意识到cblas已经内置在xcode中并添加了标志
gcc foo.c -framework Accelerate
或
gcc foo.c -lcblas
我可以删除之前的大部分错误。但是最后一个错误是我在互联网上找不到的。
Undefined symbols for architecture x86_64:
"_printVector", referenced from:
_main in blas1C-63e43d.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我不确定我犯了哪个错误,但有很多可能性:
感谢你的帮助。
P.S。我正在尝试从我提到的页面编译代码blas1C.c,blaio.c,blaio.h。
编辑1:哦,我的!我才意识到我犯了一个可怕的错误。缺少的printVector函数不是CBLAS的一部分,而是博客作者的功能。我唯一要做的就是编译blaio.c文件。所以正确的gcc命令应该是gcc blas1C.c blaio.c -lcblas
或
gcc blac1C.c blaio.c -framework Accelerate
答案 0 :(得分:0)
该功能来自网站中的blasio.c
,并在blasio.h
中声明
您需要构建blasio
并链接到它