gpt4 book ai didi

linux - 将 Clapack 链接到 cmake 项目 Linux

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:09:10 24 4
gpt4 key购买 nike

我很难将 clapack 链接到我在 Linux 上的 cmake 项目,非常感谢任何帮助。

我已经成功地构建了 clapack 并将其链接到 osx 上的同一个项目,这使得这种情况特别令人沮丧。

我先下载了clapack-3.2.1-cmake并编译了工程。然后,我将 .a 和相关的 .h 文件复制到项目根目录下名为 CLAPACK 的目录中。 (libblas.a、libf2c.a、liblapack.a 和 libtmglib.a 进入 CLAPACK/lib 和 blaswrap.h、clapack.h 和 f2c.h 进入 CLAPACK)

然后我更改了项目的 cmake 文件以包含

INCLUDE_DIRECTORIES(${VMT_PRJ_SOURCE_DIR}/CLAPACK)
LINK_DIRECTORIES(${VMT_PRJ_SOURCE_DIR}/CLAPACK/lib)
LINK_LIBRARIES( f2c blas lapack tmglib )

这些步骤允许我在我的 mac 上编译,但是在将项目转移到 linux box 并重新编译 clapack 库时,我遇到了如下所示的链接错误

/home/siggik/Development/SFT-9012/CLAPACK/lib/liblapack.a(sgesvd.c.o): In function     `sgesvd_':
sgesvd.c:(.text+0x456): undefined reference to `s_cat'
sgesvd.c:(.text+0x1fa4): undefined reference to `s_cat'
/home/siggik/Development/SFT-9012/CLAPACK/lib/liblapack.a(sormbr.c.o): In function `sormbr_':
sormbr.c:(.text+0x39f): undefined reference to `s_cat'
sormbr.c:(.text+0x45c): undefined reference to `s_cat'
sormbr.c:(.text+0x527): undefined reference to `s_cat'

任何帮助都会很棒。谢谢,

斯科特

最佳答案

一些链接器对库在静态链接时传递的顺序很敏感。

尝试使用 libs 命令或查看 OS X 上的编译命令行。

此外,查看 clapack 安装的文件 - 可能有一些 CMake 模块,如 ClapackConfig.cmake 或 FindClapack.cmake。如果是,您可以从那里获得正确的库顺序。

关于linux - 将 Clapack 链接到 cmake 项目 Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9027350/

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