GPRBuild не компилирует файлы C

Я обновился до GNAT Community 2018 (все работало нормально с GNAT GPL 2017). У меня есть этот файл проекта:

with "opengl";

library project OpenGL.Soil is
   for Library_Name use "SoilAda";

   for Languages use ("ada", "c");

   for Source_Dirs use ("src/soil");

   -- snip compiler config
end OpenGL.Soil;

Сейчас в src/soilЕсть пара .ads а также .adb файлы, а также .h а также .c файлы. Ранее этот файл проекта компилировал их все и связывал их друг с другом, когда их использовали. Начиная с GNAT Community 2018, этот файл компилирует только источники Ada, а не C-источники.

Вещи, которые я пробовал:

  • Гарантировал, что GCC, поставляемый с сообществом GNAT, все еще поддерживает компиляцию C. Да, это так.
  • Явно определенный Naming настройка пакета Spec_Suffix а также Implementation_Suffix для C до соответствующих окончаний файла.
  • Явно указано Source_Files и поместите все файлы Ada и C в него.

Независимо от того, что я сделал, GPRBuild при запуске не будет компилировать файлы C (что приведет к ошибкам компоновщика). Нет никаких ошибок или предупреждений относительно файлов C, даже если они указаны явно.

Как я могу заставить GPRBuild снова скомпилировать файлы C?

1 ответ

Решение

Причина была в том, что все еще оставались 32-битные объектные файлы от предыдущего компилятора. GPRBuild не перекомпилировал их, но и не пытался связать их (что не удалось бы), вызвав gprclean -r на проекте и компиляции снова исправили.

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