Visual Studio — фатальная ошибка LNK1104 (файл .lib не найден) при соединении MS C ++ с Intel Fortran

У меня есть два файла 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'

Как мне исправить эту проблему, чтобы моя программа компилировалась?

2

Решение

Вообще говоря, вам не хватает настроек среды смешанного программирования в Visual Studio. Просто перейдите по этой ссылке, предоставленной Intel:
https://software.intel.com/en-us/articles/configuring-visual-studio-for-mixed-language-applications.

Или, короче говоря, добавьте каталог компилятора fortran и каталог библиотеки во вкладке конфигурации проекта. В моем случае каталог компилятора 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».

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]