gpt4 book ai didi

CBLAS mac OS X 架构 x86_64 错误的 undefined symbol

转载 作者:行者123 更新时间:2023-11-30 16:53:57 25 4
gpt4 key购买 nike

我正在为我的项目尝试不同的 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)

我不确定我在哪里犯了错误,但有多种可能性:

  1. 我需要从 netlib website 安装 BLAS/CBLAS 。我实际上尝试这样做,但我可以设法从源代码构建库!如果有人能制作一个自制配方那就太好了。那么如果安装了原始的 CBLAS 库,那么我需要了解用于编译的 gcc 标志以及如何链接库。
  2. 或者 netlib 中的原始 CBLAS 与 xcode 中内置的 CBLAS 之间存在语法差异,我需要更改代码。

感谢您提前提供的帮助。

附注我正在尝试从我提到的页面编译代码 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

最佳答案

该函数来自网站中的 blasio.c 并在 blasio.h 中声明您需要构建 blasio 并链接到它

关于CBLAS mac OS X 架构 x86_64 错误的 undefined symbol ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40696227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com