【发布时间】:2011-02-11 15:10:08
【问题描述】:
我是否可以在任何地方获得 OMF 对象格式的 Windows 预编译的 BLAS 和 LAPACK 二进制文件?我想将一些 D 语言代码链接到这些。我知道在哪里可以获得the relevant libs in COFF format。我也知道 objconv 工具,它将 COFF 转换为 OMF,尽管由于我不完全理解的原因,这在实践中似乎不起作用。这些似乎与符号中的下划线有关,尽管我尝试了几乎所有处理这些的设置,但似乎都没有。
或者,有谁知道如何转换 the reference binaries to OMF 以便他们真正正确链接到 DMD 编译的代码?作为最后的手段,有谁知道如何让 CLAPACK、CBLAS 和 F2CLIB 与 DMC 一起构建?这些附带的构建过程似乎完全面向 GCC 工具链。
【问题讨论】:
-
在我之前的答案stackoverflow.com/questions/4937699/… 中链接的多数组包附带一个应该可以工作的 dll + 包装器(请参阅dsource.org/projects/multiarray/browser/downloads/win32-deps)(我尚未测试)。如果这不起作用,请告诉我,我将尝试构建一个。顺便说一句,如果您是 LAPACK 的新手,有两个陷阱:1)所有 Fortran 函数都通过引用获取所有参数(甚至是整数),除非 LAPACK 发行版具有 C 包装器; 2) Fortran 数组是列优先的布局,而 C 数组是行优先的。
-
@stephan:你应该把它作为答案。我会接受它,因为我在您发布的同一时间发现了同样的事情。就 Fortran 而言,我无意直接使用 BLAS 和 LAPACK。我将使用 Lars Kyllingstad 的 SciD 库,它提供了漂亮的包装器。
标签: d lapack blas object-files omf