gpt4 book ai didi

c - GPRBuild 不编译 C 文件

转载 作者:太空狗 更新时间:2023-10-29 16:10:02 26 4
gpt4 key购买 nike

我升级到 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 源代码。

我尝试过的事情:

  • 确保随 GNAT 社区一起提供的 GCC 仍然支持编译 C。是的,它支持。
  • 明确定义 Naming 包设置 Spec_SuffixImplementation_Suffix 用于 C 到相应的文件结尾。
  • 明确指定 Source_Files 并将所有 Ada 和 C 文件放入其中。

无论我做什么,调用 GPRBuild 时都不会编译 C 文件(导致链接器错误)。即使明确指定了 C 文件,也没有错误或警告输出。

如何让 GPRBuild 再次编译 C 文件?

最佳答案

原因是之前编译器的 32 位目标文件仍然存在。 GPRBuild 没有重新编译它们,但也没有尝试链接它们(这会失败),在项目上调用 gprclean -r 并再次编译修复了它。

关于c - GPRBuild 不编译 C 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55076983/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com