Скомпилируйте программу Fortran с IFORT и используя объектные файлы (т.е. .lib), скомпилированные в Microsoft Visual Studio - PullRequest
0 голосов
/ 02 октября 2018

У меня есть основной вопрос, на который я не могу найти ответ даже после многократного поиска в Интернете.

Можно ли скомпилировать программу на Fortran по IFORT, которая использует (как зависимости) объектные файлы (т.е.lib), которые были скомпилированы Microsoft Visual Studio C?

1 Ответ

0 голосов
/ 02 октября 2018

Да, это возможно, и даже довольно легко.У вас есть несколько способов сделать это:

  • Добавьте проект библиотеки MSVC в ваше решение Fortran Visual Studio и затем используйте Project> Dependencies, чтобы добавить проект C в качестве зависимого от вашего проекта Fortran *не работает, если проект C создает DLL)
  • Добавьте .lib из проекта C в проект Fortran, как если бы это был исходный файл
  • Назовите C .lib в компоновщике>Свойство «Вход»> «Дополнительные зависимости».

Я обычно рекомендую первый вариант, так как вам не нужно суетиться с различными настройками для проектов отладки и выпуска.Вы должны убедиться, что библиотека C построена так, чтобы указывать тот же тип библиотеки времени выполнения (Debug против Nondebug, DLL против Static), как у проекта Fortran.Это на странице свойств генерации кода для C.

В образце набора Intel Parallel Studio XE для Windows .

есть работающий пример "Вызовы Fortran C".Вам также необходимо понять, как вызывать процедуру C из Fortran, и убедиться, что аргументы C имеют совместимые типы Fortran.Это работает лучше всего, если вы используете функции "совместимости" стандарта Fortran.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...