В этой командной строке:
C:/development-tools/msys2/usr/bin/sh.exe ../libtool --tag=CC --mode=compile \
gcc -DMPFR_WANT_ASSERT=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DLT_OBJDIR=\".libs/\"...
Мы видим, что в -DLT_OBJDIR=\".libs/\"
есть экранированные кавычки, которые экранируются.Однако в диагностике libtool:
libtool: compile: gcc -DMPFR_WANT_ASSERT=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 "-DLT_OBJDIR=\\.libs/\"...
мы видим, что первая из этих экранированных кавычек была удалена и заменена другой escape:
\".libs/\" <- before
\\.libs/\" <- after
и что новая неэкранированная кавычка быладобавляется к определению макроса:
-DLT_OBJDIR=\".libs/\" <- before
"-DLT_OBJDIR=\\.libs/\" <- after
, создавая таким образом строковый аргумент для gcc, который начинается с "-DLT_OBJDIR=\\.libs/\"...
и фактически использует весь остаток командной строки до:
../../src/src/exceptions.c"
тогда как в исходной командной строке мы имеем:
../../src/src/exceptions.c
С того места, где я сижу, я не могу объяснить причину этого побега / искажения цитаты, но это ответ на вопрос:
Почему GCC (MinGW-w64) возвращает «фатальную ошибку: нет входных файлов» при построении MPFR?
Я предлагаю вам направить свое расследование на это с преимуществом того, чтобы быть парнемна месте.