Я обновился до 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 Community, все еще поддерживает компиляцию C.Да, это так.
- Явно определены
Naming
настройки пакета Spec_Suffix
и Implementation_Suffix
для C для соответствующих окончаний файлов. - Явно указаны
Source_Files
и помещены все файлы Ada и Cв нем.
Независимо от того, что я сделал, GPRBuild при вызове не будет компилировать файлы C (что приведет к ошибкам компоновщика).Нет ошибок или предупреждений относительно файлов C, даже если они указаны явно.
Как я могу заставить GPRBuild снова компилировать файлы C?