首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Eclipse中为Windows上的fortran编译器配置LAPACK

在Eclipse中为Windows上的fortran编译器配置LAPACK
EN

Stack Overflow用户
提问于 2012-09-28 10:00:47
回答 1查看 3.3K关注 0票数 3

更新

感谢弗拉基米尔对图书馆的有益见解。我采用了另一种方法,首先在ubuntu中进行开发(这比处理Eclipse/Cygwin/.现在我正在尝试移植到windows,这是相当好的,但是我也有一些问题,张贴在这里:Problems with porting a fortran program from ubuntu to windows

问题

目前,我有以下设置,无法配置该漏洞库,以便使我的fortran代码能够编译:

  • Windows 7
  • Cygwin安装(用于GNU fortran),添加到windows路径
  • 带cygwin 的lapack和liblapack开发
    • 在文件夹C:/cygwin/lib中生成liblapack.a和libblas.a。

在我的程序中,我使用以下代码调用了program库

代码语言:javascript
复制
program myProgram
    !use lapack (stays commented now)
    ...

在Eclipse中,我使用了以下设置(对于Photran包):

  • Fortran项目: Windows上的可执行GNU fortran (GCC工具链)
  • GNU编译器:gfortran ${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}
  • GNU链接器:gfortran ${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}

我编译了libblas.a和liblapack.a库,作为静态库用于windows,它们位于C:/cygwin/lib文件夹中。在GNU链接器属性中,这些库在文件夹lapack中被称为blasC:/cygwin/lib。这将导致编译器和链接器的-L"C:/cygwin/lib" -llapack -lblas部分中的{$COMMAND}部分。(谢谢@vladimir-f )

在输出中,不再留下错误消息。只有我现在在Eclipse中得到了以下错误,没有最终的.exe或回收箱:

代码语言:javascript
复制
Errors occured during the build.
    Errors running builder 'CDT Builder' on project 'Hamfem'
    Internal error building project Hamfem configuration
    Release
    java.lang.NullPointerException
Internal error building project Hamfem configuration
Release
java.lang.NullPointerException

但是,构建的结果仍然是一个可执行文件,在本例中称为Hamfem.exe。运行此文件将导致错误消息(而不是例程):The program can't start because cyglapack-0.dll is missing from your computer. Try reinstalling the program to fix this problem.

该文件目前位于C:/cygwin/lib/lapack/中,但我希望不需要这个文件来运行程序,这样我就可以在不同的计算机上运行它。有人能在这方面合作吗?

其次,当复制粘贴.dll文件在.exe所在的文件夹中时,它运行一秒钟,生成一个堆栈转储文件。由于“”错误,我无法在Eclipse中使用调试器。当我想在Eclipse中作为本地Fortran程序运行它时,Eclipse会给出消息Binary not found。有什么办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-28 10:08:32

问题就在这里

代码语言:javascript
复制
L/lib/lapack –llapack

试着改变它

代码语言:javascript
复制
-L/lib/lapack –llapack

可能是在你的Makefile里。

代码语言:javascript
复制
gfortran -funderscoring -O3 -Wall -c -fmessage-length=0 -L/lib/lapack -llapack -o 

并确保lapack.mod确实在/lib/lapack中,这可能是Cygwin上的C:\cygwin\lib\lapack

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12637822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档