Running simple fortran programs using Intel Visual Fortran + Microsoft Visual Studio
我最近获得了Microsoft Visual Studio 2012和Intel Parallel Studio Visual Fortran编译器XE 2013的副本。
我一般都不熟悉使用Microsoft Visual Studio或Fortran作为编程语言。我的目标是提出一个简单的结构/框架,在其中可以生成和测试基本的Fortran程序/输出以学习Fortran语言。这类似于使用基本的Fortran编译器(例如GNU)并通过命令提示符运行类似" hello world"类型的程序。但是,由于与此处讨论无关的原因,我仅限于上述两个应用程序。
似乎Visual Studio不允许用户编译/构建单独的源文件,如果它们在更通用的项目解决方案中不发挥某种作用(一个人必须为每个微小的Fortran程序创建,编译和构建一个单独的项目) )。正如本文所描述的,Visual Studio出于显而易见的充分理由不允许这样做。
我还发现了该视频,该视频描述了使用ifort命令的显然简单的方法,以便使用Intel Visual Fortran编译和运行简单的Fortran程序。不幸的是,当我在操作系统上尝试此操作时,收到以下错误消息:
1
| ifort: error #10037: could not find 'link' |
尽管它确实成功生成了具有相同名称的目标文件,但是没有可执行文件。
我在英特尔论坛上找到的以下报价是对此错误的合理解决方法:
"the error"cannot find link" is almost always caused by not
installing the 64-bit compiler and tools component of Visual Studio"
由于与我仅限于上述两个应用程序的原因类似,我在此计算机上没有管理员特权。因此,我无法应用以上修复程序。此外,我不认为编译器由于这个原因无法正常工作。
同样,我所需要的只是编写,编译和运行简单的Fortran代码的直接方法。如上所述,我尝试了几种想法,因此我唯一的选择是征求指导。由于Visual Studio可以构建商业质量的应用程序,而Visual Fortran可以使用Fortran执行并行处理,因此我倾向于认为这些应用程序应能够满足这一基本需求。
编辑
我只是在Windows cmd中运行了ifortvars.bat,仍然收到相同的错误。请参见下面的ifortvars输出。
编辑2
为了回应史蒂夫的回答,以下是我使用英特尔Fortran命令提示符运行的一些命令。如您所见,问题仍然存在。
-
您的安装可能已损坏。没有神奇的方法来编译程序。显示当您打印该错误消息时要运行哪个命令。您是否使用ifortvars.bat设置了路径?最后,官方支持论坛可能是一个更好的询问场所。
-
您能详细说明一下吗?如何打开ifortvars.bat,应该怎么做?
-
通常不需要它,但是您可以尝试运行它。 csbi.mit.edu/technology/intel_fce/doc/main_for/mergedProject s /
-
如果您使用的是64位系统,则必须以ifortvars intel64身份运行;否则,必须使用其他选项之一。但这可能无济于事。
-
你读过这个吗? stackoverflow.com/questions/33065962/可能重复,这是第一个Google命中该错误消息的网站之一。它建议的内容与我的建议类似。
-
如果您启动Intel Fortran命令提示符(在开始菜单中,它应该类似于Intel 64 Visual Studio 2012 mode),它将自动设置您的环境。然后,您可以根据需要将其固定到任务栏。 FWIW,我不认为我曾经直接运行过ifortvars.bat。
-
@MattP是的,这就是重复说明中的答案。您认为这是错误消息的解决方案吗?我不想关闭副本,因为我在Windows中没有Ifort尝试一下。
-
@VladimirF @ user32882我应该在发布之前检查该链接。不,实际上,我认为它比这更简单-如所附图片中的帮助msg所示,OP可能仅需要在调用.bat文件时指定正确的args。例如:ifortvars.bat intel64 vs2012。如果那不能解决问题,我怀疑问题是未安装64位编译器,或者可能是在ifort之后安装了。
-
响应@VladimirF。我在Windows操作系统命令提示符(不是VS命令提示符或Intel Fortran命令提示符,这正确吗?)上运行了ifortvars.bat文件(首先对原始问题进行编辑)。此外,我很清楚英特尔64 Visual Studio 2012命令提示符的存在。问题是所有命令提示符(Intel IA-32,Intel 64和Visual Studio 2012)都表现出相同的行为,即1)编译f90源文件时找不到链接; 2)显示"错误:无法确定文件的位置"。 VS常用工具文件夹"
-
@ user32882在Intel Fortran命令提示符下,键入link,然后按Enter。如果VS编译器工具设置正确,它将显示链接器的选项列表。否则,链接器会以某种方式不在您的路径上或未安装。在文件夹C:\\Program Files (x86)\\Microsoft Visual Studio XX\\VC\\bin和...\\bin\\amd64中查找link.exe,其中XX是已安装的VS的版本。如果存在,请检查您的Path变量。让我们知道您是否需要帮助。
-
您的命令行屏幕快照似乎表明您是计算机的管理员。如果安装未正确完成,则需要修复该问题。您如何安装Visual Studio和Intel Fortran?安装Visual Studio时,选择了哪些安装选项?是否安装了Visual Studio C ++相关工具?您安装了64位支持吗?您可以通过"帮助">"关于"显示从Visual Studio中获得的已安装产品的列表吗?英特尔软件论坛通常是询问此类产品特定问题的更好场所。
如果系统上正确安装了Intel Parallel Studio,则应在"开始"菜单中找到类似Intel Parallel Studio XE 2013的条目。在该条目下(可能位于子文件夹中)将带有" Intel Intel Parallel Studio XE"条目 编译器13.0"。 点击那个。 它会打开一个命令提示符窗口。 cd到包含您的源文件的文件夹并使用:
ifort yoursourcefile.f90
进行编译和链接。 的确,在Visual Studio中,您必须有一个项目和解决方案才能构建应用程序,但这很容易。 文档已安装在您的计算机上,但也请参见https://software.intel.com/zh-cn/node/677903-这是当前版本,但您的版本相同。
-
您好史蒂夫,谢谢您的回复。不幸的是,问题仍然存在。请查看原始问题中包含的屏幕截图。还要注意上面的错误"错误:无法确定VS Common Tools文件夹的位置"
-
在stackoverflow.com/questions/33065962/ @ user32882中已经描述了该解决方案,您是否尝试按照注释中的要求向ifortvars.bat提供正确的参数?启动Ifort shell将自动启动该蝙蝠(仅此而已)。
-
是的,我已经在Windows cmd和IA-32和Intel 64命令提示符下都尝试过。它不起作用。
-
它打印了什么?"不工作"没有任何意义。请更新屏幕截图。
-
大概时间尝试重新安装编译器。
-
屏幕截图将与第一次编辑中已提供的截图相同。除了在IA-32和Intel 64命令提示符中。我得到了完全相同的输出消息。同样,按照解决方案在stackoverflow.com/questions/33065962/中添加路径变量后,"找不到链接"问题仍然存在。在另一篇文章中提出的解决方案不能解决我的问题。因此,我不相信我的帖子是重复的。