我有两个文件source1.f90
和main.cpp
。 Fortran文件有一个子例程,cpp文件有一个调用Fortran子例程的程序
我使用以下命令行选项编译了Fortran文件和构建的静态库文件
ifort source1.f90 /nologo /debug:full /Od /gen-interfaces /warn:interfaces /traceback /check:bounds /libs:static /threads /dbglibs /c
lib /out:lib1.lib source1.obj
但是当我使用
编译cpp文件时CL main.cpp /link LIB1.LIB
我收到以下错误
D:\temp>CL main.cpp /EHsc /link LIB1.LIB
Microsoft (R) C/C++ Optimizing Compiler Version 17.00.60610.1 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
main.cpp
Microsoft (R) Incremental Linker Version 11.00.60610.1
Copyright (C) Microsoft Corporation. All rights reserved.
/out:main.exe
LIB1.LIB
main.obj
LINK : fatal error LNK1104: cannot open file 'ifmodintr.lib'
如何修复此问题以便我的程序编译?
答案 0 :(得分:1)
一般来说,您错过了Visual Studio中混合编程环境的设置。只需按照intel提供的链接: https://software.intel.com/en-us/articles/configuring-visual-studio-for-mixed-language-applications
或者简而言之,在项目配置选项卡中添加fortran编译器include目录和库目录。在我的例子中,fortran编译器目录是“g:\ Program Files(x86)\ IntelSWTools \ compilers_and_libraries \ windows \ compiler \ include \ intel64”,库目录是“g:\ Program Files(x86)\ IntelSWTools \ compilers_and_libraries \ Windows \编译\ lib中\ intel64_win”。