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

2024-03-04

Update

感谢弗拉基米尔对图书馆的有用见解。我采取了另一种方法,首先在 ubuntu 中开发(这比使用 Eclipse/Cygwin/... 容易得多,现在我尝试移植到 Windows,这相当不错,但是我对此也有一些疑问,发布在这里:将 fortran 程序从 ubuntu 移植到 windows 时出现问题 https://stackoverflow.com/questions/17869288/problems-with-porting-a-fortran-program-from-ubuntu-to-windows

Question

我目前有以下设置,但无法配置 lapack 库以便我的 Fortran 代码可以编译:

  • Windows 7的
  • Cygwin 安装(适用于 GNU fortran),添加到 windows PATH
  • lapack and liblapack-devel installed with cygwin
    • 导致文件夹 C:/cygwin/lib 中生成 liblapack.a 和 libblas.a

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

program myProgram
    !use lapack (stays commented now)
    ...

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

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

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

输出中不再有错误消息。只是我现在在 Eclipse 中遇到以下错误,并且没有最终的 .exe 或 bin:

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 所在的文件夹中时,它会运行一小会儿,生成一个 stackdump 文件。由于“构建工作空间”错误,我无法在 Eclipse-Photran 中使用调试器。 Eclipse 给出了消息Binary not found当我想在 Eclipse 中将其作为本地 Fortran 程序运行时。有什么想法如何解决这个问题吗?


问题就在这里

L/lib/lapack –llapack

尝试将其更改为

-L/lib/lapack –llapack

也许它就在你身上Makefile.

i.e.

gfortran -funderscoring -O3 -Wall -c -fmessage-length=0 -L/lib/lapack -llapack -o 

并确保lapack.mod真的在/lib/lapack这可能是C:\cygwin\lib\lapack在西格温上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Eclipse-Photran 中为 Windows 上的 fortran 编译器配置 LAPACK 的相关文章

随机推荐

  • 将java程序编译为可执行文件[重复]

    这个问题在这里已经有答案了 可能的重复 如何为 Java 程序创建 exe https stackoverflow com questions 516399 how do i create an exe for a java program
  • Xpath 表达式

    我需要获得的价值
  • 无法访问复制到 /var/www/ 或其他文件夹中的 php 文件

    我使用的是带有 LAMP 设置的 Ubuntu 12 10 我将 Windows PC 上的 xampp htdocs 中包含项目文件 php html css 的子目录复制到我的 ubuntu 的 var www 中 但是 当我从浏览器访
  • reinterpret_cast 与 c 风格强制转换 [重复]

    这个问题在这里已经有答案了 可能的重复 c 风格强制转换与reinterpret cast https stackoverflow com questions 8427107 c style cast vs reinterpret cast
  • Tridion 命令扩展如何找到它扩展的命令?

    Tridion 的用户界面允许您扩展特定的命令 这是修改某些现有命令的行为的好方法 在编辑器的配置文件中 这是通过如下部分完成的
  • 通过反射获取枚举值

    我试图在运行时循环并打印给定枚举类的所有枚举值 但我似乎只能返回与值相关的常量 大多数解决方案都指向使用 getEnumConstants values 或 valueOf 但我无法让它们按预期工作 我能找到的最接近的问题是通过反射获取en
  • Android VOIP SipException:无法创建 SipSession

    我正在尝试使用 Android 3 1 上内置的 SIP 运行 VOIP 呼叫 我有物理平板电脑设备 galaxy Tab 10 1 为了测试目的 我创建了一个项目SipDemo 示例 http developer android com
  • NotYetImplemented 错误 ng2-charts

    从 utils js 收到消息 NotYetImplemented 的错误 我在使用nodejs服务器时收到错误 这个错误到底意味着什么 当我使用 ngserve 时 没有这样的错误 我正在使用 ng2 charts 模块中的折线图 完整的
  • 如何检索从 SQL Server 到 VB.NET 受影响的行数?

    基本上 我通过运行时检索程序中的所有数据 我想知道如何检索更新后受影响的行数 以便我可以通过 VB NET 提示用户相关信息 我实际上正在做的是 更新后 如果没有其他行更新 则用户无法再单击按钮 通过使用执行非查询 http msdn mi
  • 子项在父视图之外不可点击

    我创建了一个带有标记的地图视图 看下面这张图 Grandparent是一个填充视图 Parent是我的MarkerView Child是一个可点击的标记 父级有clipChildren false 因此子级是可见的 我的问题是孩子们是可点击
  • 如何在 ASP.NET MVC 区域中的 Web 窗体中使用母版页

    我已将 MVC 区域添加到现有的 Web 窗体项目中 我想在 MVC 项目的所有视图中使用母版页 我不明白我应该如何引用 MVC 区域内的 WebForms 的 MasterPage 我读过这两篇文章 http www hanselman
  • Mercurial 变基场景

    我读过变基项目 http mercurial selenic com wiki RebaseProject页面并尝试了一个不平凡的例子 不是对一个完整的分支进行变基 和这个案例很相似重新建立 D 基础 我场景 B 的情况 这是 rebase
  • Android:如何在onStop之后返回具有“noHistory”属性的Activity?

    我正在寻找一种从历史堆栈中删除某个活动的方法 并找到了解决方案这里 瓦卡斯的回答 https stackoverflow com questions 1898886 removing an activity from the history
  • 续集上的belongsToMany会自动创建新的连接表吗?

    我对这个续集很陌生 我尝试使用belongsToMany通过UserPermissions在用户和权限之间关联模型 这是我的代码 用户 js const bcrypt require bcrypt const config require
  • 如何使用 JavaScript 正则表达式从推文中提取 URL?

    假设我将推文作为字符串存储在 JS 变量中 如何使用 JavaScript 正则表达式从推文中提取 URL 这应该比从字符串中提取 URL 容易得多 因为 我假设任何以 http 或 www 开头并以空格 或推文结尾 结尾的内容都是 URL
  • ios - UIImageView 上的 SizeToFit 不起作用

    我有一个 UIImageView 它从 ios 文件系统上的文档目录加载图像 问题是当我打电话时 imageView sizeToFit 这是行不通的 我认为这是因为图像此时尚未完全加载 因此在获得图像宽度和高度之前调用了 sizeToFi
  • python非阻塞非messing-my-tty按键检测

    我有一个循环可以完成一些工作并将大量信息打印到标准输出 一遍又一遍 这是一个循环 我想做的是检测用户何时 是否按下某个键 可以是箭头 回车键或字母 并在发生这种情况时执行一些工作 这应该是一个非常简单的子任务 但我花了四个小时尝试不同的方法
  • django 更新时的模型验证

    我创建了一个名为 Term 的模型及其验证器 如下所示 from django db import models from django contrib auth models import User from django core ex
  • Rails 3 替换验证

    我是 Rails 新手 但正在阅读有关验证控制器中的参数的文档 它们似乎引用了 verify 方法 但在 Rails 3 中 它显示 verify 已被弃用 这样做的新方法是什么 我收到的错误是 验证已从 Rails 中删除 现在可以作为插
  • 在 Eclipse-Photran 中为 Windows 上的 fortran 编译器配置 LAPACK

    Update 感谢弗拉基米尔对图书馆的有用见解 我采取了另一种方法 首先在 ubuntu 中开发 这比使用 Eclipse Cygwin 容易得多 现在我尝试移植到 Windows 这相当不错 但是我对此也有一些疑问 发布在这里 将 for