сборка Fortran .lib x64 bit на windows 10 с использованием VS2015 и привязка его к C ++ - PullRequest
0 голосов
/ 10 февраля 2020

Я создаю смешанную программу на c ++ и Fortran, используя VS2015, что было прекрасно на windows 7. Сначала был создан Fortran XXX.lib, а затем привязан к C ++ XXX_main (зависимости сборки -> зависимости проекта). Сейчас я пытаюсь перенести его на windows 10 с целевым компьютером x64, но все еще использую VS2015, и есть ошибки компиляции, которые я не могу найти решения после нескольких недель поиска.

Вот информация о компиляции:

------ Neues Erstellen gestartet: Projekt: XXX, Konfiguration: Debug x64 ------
1>Deleting intermediate files and output files for project 'XXX', configuration 'Debug|x64'.
1>Compiling with Intel(R) Visual Fortran Compiler 19.0.5.281 [Intel(R) 64]...
1>scout2d.f
1>E:\test\src\scout2d.f(74): error #8110: The module file for compiler-generated interface was generated for a different platform or by an incompatible compiler or compiler release. It cannot be read. Use -gen-interfaces option.   [XGET__GENMOD]
1>fortcom: Fatal: There has been an internal compiler error (C0000005).
1>compilation aborted for E:\test\src\scout2d.f (code 1)
...........
1>scp_lib - 82 error(s), 18 warning(s)
1>XXX - 82 error(s), 18 warning(s)
2>------ Neues Erstellen gestartet: Projekt: XXX_main, Konfiguration: Debug x64 ------
...........
2>  XXX_main.vcxproj -> E:\test\x64\Debug\XXX_main.exe
2>  XXX_main.vcxproj -> E:\test\x64\Debug\/XXX_main.pdb (Full PDB)
========== Alles neu erstellen: 1 erfolgreich, 1 fehlerhaft, 0 übersprungen ==========

Исходные файлы, конечно, такие же, как на windows 7. Вот изменения, которые я сделал или попробовал на windows 10 с использованием VS2015 в отношении системы x64. Любые предложения приветствуются. Спасибо!

  1. Свойства проекта XXX_main -> Linker -> Input -> дополнительные зависимости и библиотеки: такие же, как и раньше
  2. Свойства проекта XXX_main -> C ++ -> папки для включения: такие же, как и раньше
  3. Свойства проекта XXX_main -> Linker -> Advanced -> Целевой компьютер: измените MachineX84 на MachineX64
  4. Диспетчер конфигураций -> Платформа: x64
  5. Опция -> Компиляторы Intel и инструменты -> C ++ -> Компиляторы: изменить win32 на x64
  6. Опция -> Компиляторы Intel и инструменты -> Visual Fortran -> Компиляторы -> Включает: добавить $ (IFORT_COMPILER15) \ compiler \ include -> Библиотеки: добавить $ (IFORT_COMPILER15) \ compiler \ lib \ intel64
  7. Деинсталляция и новая установка компиляторов Fortran, текущая версия: Intel (R) Visual Fortran Intel (R) 64 Compiler для приложений, работающих на Intel (R) 64, версия 19.0.5
  8. Деинсталляция и новая установка Visual Studio 2015, текущая версия 14.0.25431.01
    Обновление 3
  9. Fortran XX Свойства проекта X -> Библиотеки -> out: x64 \ Debug \ XXX.lib

1 Ответ

0 голосов
/ 12 февраля 2020

Я нашел решение. Вот что я сделал:

  1. Удалите Intel Fortran Compiler (перезапустите P C) и установите его снова (перезапустите P C)
  2. Щелкните правой кнопкой мыши по проекту Fortran XXX - > Свойства -> Фортран -> Внешние процедуры -> Соглашение о вызовах: измените его на CVF (/ iface: cvf).
  3. Щелкните правой кнопкой мыши проект C ++ XXX_main -> Свойства -> Папки VC ++ -> Папки библиотеки: добавьте путь к компилятору Fortran $ (IFORT_COMPILER19) \ compiler \ lib \ intel64

Спасибо за помощь в любом случае. С наилучшими пожеланиями

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