将在 Cygwin 环境中构建的 Eclipse Makefile 项目

Eclipse Makefile project to be built within a Cygwin environment

我们有一个项目 (C)(不是 Cygwin exe 项目,而是一些嵌入式交叉编译的项目),它有一个 Makefile 设计用于在 Cygwin 中使用环境。这是预期的用途是打开一个 Cygwin 终端,进入项目目录并从那里 运行 make

我可以在 Eclipse 中将此项目作为 Makefile 项目导入,但显然 Eclipse 中的常规构建命令将不起作用,因为它试图在本机中调​​用 make(Windows ) 环境。有没有办法让 Eclipse 成为 运行 Cygwin,在其中调用 make 命令并让常规 CDT 错误解析器工作?也许通过创建自定义生成器?

我已经通过使用调用一些 cygwin 命令的构建脚本设法解决了这个问题:

build.bat:

@echo off
c:\cygwin64\bin\bash --login -c "cd %cd:\=/%; make %*"

细分:

c:\cygwin64\bin\bash --login -c "<command>" - 用于从 cygwin 环境中调用命令

cd %cd:\=/%; - 是一个 "dos" %cd% 变量(当前路径),反斜杠被斜杠替换 - 以避免这些被剥离为未转义。

make %* - 使用传递给该批处理文件的所有参数调用 cygwin make 命令 - 这是为了让 Eclipse 传递构建目标 and/or 构建标志。

现在,在 Eclipse 的 "project build" 选项卡中,我用 build.bat 替换了 make 命令,它运行起来非常棒。除了其他项目文件之外,我还有这个文件是唯一的缺点,但由于它非常通用,因此可以在具有这些限制的任何项目中重复使用。