【问题标题】:Linking a Racket program to a Fortran library将 Racket 程序链接到 Fortran 库
【发布时间】:2016-05-16 18:56:59
【问题描述】:

我有一个 Racket 程序,我想链接一个 Fortran 库和另一个库,因为 Fortran API 运行良好。我从 Jens Axel Søgaard 的 Stack Overflow answer 中看到,他能够链接到 CBLAS 和 LAPACK。我使用的库是不同的,但我希望我能从 Racket 中使用它们。会很甜的。

我认为我的问题很简单。目前,我构建了可以在所需平台(Windows)上执行的 Racket 程序,如下所示:

$ raco exe -o MyProgram.exe MyProgram.rkt
$ raco distribute win MyProgram.exe

在上面,我没有编译或链接到任何其他人的 Fortran 库。现在我会是,我的raco 命令会是什么样子?假设我有两个需要链接的库:${LIBPATH}/libeccodes_f90.dll ${LIBPATH}/libeccodes.dll

【问题讨论】:

    标签: linker racket raco


    【解决方案1】:

    Racket 中的 FFI 使用 libffi 来动态加载库文件。

    如果可以从 C 程序中使用 Fortran 库, 那么应该也可以从 Racket 使用它。

    我有点不确定我用的 LAPACK 库是不是出品了 由 Fortran 编译器 - 或者是否做了某些事情 它可以从 C 中使用。

    如果您将++lib 标志传递给raco exe 生成的可执行文件 应该包括共享库。具体细节我不知道。

    【讨论】:

    • 谢谢@soegaard!我会试试的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 2014-09-08
    • 2010-12-28
    相关资源
    最近更新 更多