如何使 Eclipse CDT Autotools 使用关闭源目录 autogen.sh

How to make Eclipse CDT Autotools use off source directory autogen.sh

我正在尝试配置 Eclipse CDT 2019-12 以构建一个使用 autotools 的旧项目。有一个 autogen.sh 脚本,但它不包含在包含 configure.ac 和其他源文件的目录中。查看 Eclipse Autotools user guide,这可能是 运行 'Reconfigure project' 不使用 autogen.sh 的原因。但运行 autoreconf。

我重新定义了 Autotools > Configure Settings > autogen > Command 以使用相对路径,但这没有帮助。重新定义 Autotools > General > Tools Settings > autoreconf 导致内部错误 (NullPointerException)。

如何帮助 Eclipse 找到并执行关闭的源目录 autogen.sh?

包含 configure.ac 的目录,因此也是 configure 脚本驻留和/或创建的目录,根据定义是项目源代码树的根目录。在一个结构良好的 Autotools 项目中,源代码树之外不应有任何构建系统工件,因为源代码树的内容定义了打包和分发的内容。

此外,根据我的理解和回忆,Eclipse 依赖于它来定义其 Autotools 项目的逻辑视图。 Eclipse 遇到了一些麻烦,试图阻止项目构建访问项目配置中指定空间之外的文件。它无法识别源代码树外的 autogen.sh 文件,这并不让我感到特别惊讶,无论您如何尝试指定其位置。

首先,值得检查 autogen 脚本以确定它是否确实在做 autoreconf 没有做的任何必要的事情,或者它是否可能故意忽略 autoreconf 做的任何事情。可能让 Eclipse 使用 autoreconf 而不是 autogen.sh 就可以了。

如果实际上您需要 Eclipse 来使用autogen.sh,那么您最好的办法可能是将它复制到源目录中并适当地更新副本以适应新的位置。