【问题标题】:Using lapack in C在 C 中使用 lapack
【发布时间】:2013-07-17 00:47:20
【问题描述】:

我正在努力理解一位物理学家同事的 C 代码,该代码使用了我以前从未使用过的 Lapack。我使用 sudo apt-get 来安装 lapack。我一直在编译

gcc  -llapack Dirac.c -o Dirac -lm

并且我收到编译错误“未定义对'zheev'的引用”我知道 zheev 是 lapack 中的一个函数,所以我认为安装出现问题或某些地方不正确。有人可以解释一下我是否需要做某种链接或者我需要在哪里保存东西才能编译?如果这是一个菜鸟问题,我深表歉意。

【问题讨论】:

    标签: c compilation linker compiler-errors lapack


    【解决方案1】:

    在链接程序的时候需要把库放在编译的最后:

    gcc Dirac.c -o Dirac -llapack -lm
    

    链接过程的工作方式是该库用于查找迄今为止出现的未解析符号。当您将-llapack 放在首位时,由于您的程序中还没有任何未解析的符号(因为它还没有编译任何东西),所以它最终不会使用该库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多