Почему mingw-w64 gfortran не может статически связать библиотеки, когда передан флаг -static?

Отказ от ответственности: я довольно глубоко разбираюсь в своей конкретной проблеме компиляции, но довольно плохо знаком с миром компиляции.

Предыстория: я работаю на Windows 7, 64-битной машине. Я пытаюсь скомпилировать довольно большую программу на фортране, используя mingw-w64. Процесс компиляции контролируется SCONS (аналогичным или производным от gnu Make). Я успешно скомпилировал эту программу с помощью scons, используя g95 и mingw gfortran. Я пытался использовать сборки mdw-w64 для tdm-gcc и 'ruben' с одинаковыми, неудовлетворительными результатами. Я передаю аргумент -static компилятору (gfortran.exe). Я попытался использовать команды компиляции gfortran и x86_64-w64-mingw32-gfortran с одинаковыми результатами.

Проблема: При попытке скомпилировать 64-битную версию моей программы, несмотря на передачу аргумента -static компилятору gfortran, когда я пытаюсь запустить встроенный исполняемый файл, он выдает ошибку, утверждая, что не может найти различные dll (libgfortran, libgcc, libquadmath, вообще говоря). Если я скопирую эти библиотеки в рабочий каталог, встроенная программа будет работать без ошибок и работать как положено.

Краткое описание: mingw-w64 gfortran, похоже, игнорирует флаг -static compile

Если есть какая-либо дополнительная информация, которую я могу предоставить, чтобы помочь в решении этой проблемы, пожалуйста, дайте мне знать.

Спасибо, JTJ

0 ответов

Другие вопросы по тегам