我正在使用以下选项将动态 Ada 库从 Windows 移植到 CentOS 7:
for Library_Kind use "dynamic";
for Library_Auto_Init use "False";
for Library_Interface use ("my_lib_interface");
在 Windows 上,gprbuild 首先编译 my_lib_interface,然后继续编译所有带有的单元。这意味着如果一个文件存在于 Source_Dirs 但未被任何人使用,它将被忽略。在 CentOS 上,gprbuild 编译每个文件,显然是按字母降序排列(?)并导致编译错误,因为有些文件不应该编译(这是一个大项目,我无法完全控制目录) .
为什么 gprbuild 的行为不同?有没有办法在不从项目中排除未使用的源文件的情况下获得 Windows 行为?