无法将 C 代码链接到 lapack / blas:未定义的引用

2024-05-11

我已经尝试了好几个小时了,这让我发疯。我得到的最后一个错误是:

demo_cblas.c:(.text+0x83): undefined reference to `clapack_sgetrf'
demo_cblas.c:(.text+0xa3): undefined reference to `clapack_sgetri'

我正在使用编译代码

/usr/bin/gcc -o demo_cblas demo_cblas.c -L /usr/lib64 -l :libgfortran.so.3 -L /usr/lib64 \
    -llapack -L /usr/lib64 -lblas 

我尝试使用和不使用 libgfortran,使用不同的编译器 gcc-33、gcc-47、gcc-48。测试代码不是我的,而是来自这个论坛......

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include "clapack.h"
#include "cblas.h"

void invertMatrix(float *a, unsigned int height){
int info, ipiv[height];
info = clapack_sgetrf(CblasColMajor, height, height, a, height, ipiv);
info = clapack_sgetri(CblasColMajor, height, a, height, ipiv);
}

void displayMatrix(float *a, unsigned int height, unsigned int width)
{
int i, j;
for(i = 0; i < height; i++){
for(j = 0; j < width; j++)
{
                printf("%1.3f ", a[height*j + i]);
        }
        printf("\n");
}
printf("\n");
}


int main(int argc, char *argv[])
{
int i;
float a[9], b[9], c[9];
srand(time(NULL));
for(i = 0; i < 9; i++)
{
        a[i] = 1.0f*rand()/RAND_MAX;
        b[i] = a[i];
}
displayMatrix(a, 3, 3);
return 0;
}

我使用的是 Suse 12.3 64 位。在 /usr/lib64 中,我有 liblapack.a liblapack.so,... 和 libblas.a libblas.so,... 和 libgfortran.so.3

没有函数“invertMatrix”(使用该库的代码)的相同代码可以正常编译。

有什么想法或建议吗?

感谢大家的帮助。

Vava


我非常肯定您还需要链接到 libcblas,它是 libblas 的 C 包装库。请注意,libblas 是一个 FORTRAN 库,因此不包含您正在调用的函数 clapack_* 。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法将 C 代码链接到 lapack / blas:未定义的引用 的相关文章

  • 如何在 OS X 上使用 OpenSSL 1.0.1 编译 PHP 5.5.19

    我已经安装了 OpenSSL 1 0 1j usr local ssl现在我尝试使用此版本的 OpenSSL 编译 PHP 5 5 19 这是我的配置过程 export CFLAGS arch x86 64 export CXXFLAGS
  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri

随机推荐

  • Rails 4 - 将地址保存为数据库中的一列

    我是 Rails 新手 正在开发一个简单的应用程序 我的 ERD 中有一个名为 Client 的模型 并且希望保存每个客户的地址 我最初的想法是将地址保存为单独的字段 即 rails g model Client address first
  • 提交表单后重定向是一个好习惯吗?

    我最近开始在提交网站上的某些表单 主要与购物车应用程序相关 后进行 header 重定向 到同一页面 以便用户不会通过刷新页面来执行意想不到的操作或者 后退 或 前进 并刷新页面 这是可以接受的做法吗 这是标准做法 称为redirect a
  • 我有*很多*源文件要添加到 git 存储库,如何使其快速

    我在看here https git scm com docs git fast import寻找更快地将批量文件导入 git 存储库的灵感 但不确定是不是这样 基本上情况是 我有超过 1 亿个文件想要提交到 git 存储库 我已将它们分解为
  • sqlalchemy 的 row_to_json 语法

    我想弄清楚如何将 Postgres 9 2 row to json 与 SqlAlchemy 一起使用 但是我无法想出任何有效的语法 details foo row q select Foo where Foo bar id Bar id
  • Android 进度不相应地工作

    我是 Android 和 Java 新手 我一直在从事我的任务 即图像下载器 我必须下载带有进度条的图像并将其显示在网格中 我创建了两个类 1 URL图像适配器 2 缓存活动 一切正常 但在我单击下载按钮之前下载就开始了 当我单击下载按钮时
  • 在 Grails 中使用 AOP 不适用于服务

    我使用 Grails 2 2 3 并在 grails app conf spring resources groovy 中键入以下代码 beans xmlns aop http www springframework org schema
  • 为什么没有 2 字节浮点并且已经存在实现?

    假设我真的内存不足并且想要更小的范围 类似于short vs int 着色器语言已经支持half对于半精度的浮点类型 不仅仅是来回转换使值在 1 和 1 之间 即返回一个像这样的浮点数 shortComingIn maxRangeOfSho
  • 解码 OAEP 填充时出错

    我的问题已经解决了一半 请帮助 我已使用数字签名的公钥成功加密了文本 但在解密时出现错误 解码 OAEP 填充时出错 我的代码如下 region Test Encryption public void a using var rsa new
  • Django Group权限如何在模板中打印

    如果客户登录并且有权查看管理员授予他的数据 则他在登录后将看到数据 但如果管理员没有授予他权限 则会显示此消息您无权查看此页面 就我而言 无论管理员授予什么权限 此消息始终会出现您无权查看此页面 from decorators import
  • 在 Swing 中使用印度语输入法输入文本时不显示英文字符

    我正在开发一个应用程序 它接受英语文本并使用自定义的第 3 方 API 将音译为印度语 受支持的几种语言之一 该应用程序针对 Windows XP 7 和 Ubuntu 我们使用自定义输入法来加载所需的印度语字体 并使用它渲染文本 此外 用
  • SQL Server 2008 XPath

    我们尝试根据我们提供的值过滤一组 XML 我们的数据库的 XML 字段中有以下 XML 如果传递数字 5052095050830 我们需要在 XML 中找到这个特定节点 我们提供的号码可能存在任意多次 任何机构都可以提供一些 SQL 示例来
  • MySQL JSON 存储与两个表

    与使用单独的元表相比 使用 JSON 在表中存储数据有什么好处吗 这是原始架构 Users Table UserId Username Etc 5 John Avatar Table Id UserId ImageName ImageTyp
  • Amazon EC2 实例上和本地的 RabbitMQ?

    是否可以设置一个RabbitMQ服务器上的Amazon EC2 instance 并将我办公室的机器连接到此RabbitMQ服务器并向其发送 接收消息 我会被收取费用吗Amazon对于流入 流出我的带宽 消息RabbitMQ EC2 ins
  • C# - 使用 DataAdapter 从 DataTable 更新 SQL 表 - SQL 表未更新 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions I select fromExcel
  • 将更改恢复到特定提交

    我为自己创建了一个新分支 现在我需要一次将多个提交从主分支恢复到特定提交 我知道有一个安全的命令可以使用git revert no commit COMMIT TO REVERT FROM COMMIT TO REVERT TO 这给了我e
  • 如何在 libjpeg-turbo 中使用 jpeg_mem_src、jpeg_mem_dest?

    libjpeg8 包含这两个函数 但在 libjpeg turbo 中包含以下函数 jconfig h define JPEG LIB VERSION 62 jpeglib h if JPEG LIB VERSION gt 80 Data
  • 是否有可能在linux中找到包含特定文本的文件?

    考虑这种情况 我在文件夹 Example 下有很多文件 如果我需要找到一个包含特定短语 如 Class Example 的文件 我该如何使用 Linux shell 来做到这一点 linux中有类似 定位 的函数可以做到这一点吗 Thank
  • 在优先级相等的情况下保持优先级队列插入顺序

    我正在使用priorityQueue 来实现BFS 我想在插入时和弹出后在优先级相同的情况下保持插入顺序 我重写了 equals 方法 如下所示 并且插入顺序在插入时按预期保持 但 一旦我进行删除或民意调查 元素的顺序发生变化 即使在轮询中
  • CPAN shell 内存不足。在 Unix 上如何给它更多的内存?

    我得到一个Out of memory 所有安装的消息 我以前从未使用过 cpan 并且不太确定它是如何工作的 我做了一个ulimit在 cpan 目录中 结果是无限的 这是我正在看的内容 usr bin perl MCPAN e shell
  • 无法将 C 代码链接到 lapack / blas:未定义的引用

    我已经尝试了好几个小时了 这让我发疯 我得到的最后一个错误是 demo cblas c text 0x83 undefined reference to clapack sgetrf demo cblas c text 0xa3 undef