ARM GCC with Cygwin on Windows 8.1 : fatal error: no input file

ARM GCC with Cygwin on Windows 8.1 : fatal error: no input file

我是 Linux 和构建系统的新手,我正在尝试将代码库从 Linux 移动到 Windows。我遇到了一些构建问题。

我已经安装了

当我构建我的应用程序时,出现以下错误:

arm-none-eabi-gcc.exe: 错误:
/cygdrive/d/developments/RIOT/examples/ipc_pingpong/main.c: 没有那个文件或目录
arm-none-eabi-gcc.exe: 致命错误: 没有输入文件
编译终止。

看来是cygwin(cygdriver)和windows之间的路径问题。我还将 CYGPATH 设置为 c:\cygwin64\bin\cygpath.exe 但结果相同。

为什么 gcc 编译器看不到我的文件?任何想法。

问候。

穆拉特。

检查命令的输出

which gcc

如果你能找到gcc文件的路径就没问题。如果您不能,请修改 env varibale PATH,包括 gcc 的路径,如下所示。 如果 gcc 文件的完整路径是 $/gcc,那么你必须按如下方式更正 $PATH

$PATH:$GCC_PATH

$PATH 可以在您的主目录的 .profile 文件中定义。

我试过 MinGW 而不是 Cygwin,问题已解决。

以下 link 对 MinGW 设置非常有帮助: http://www.jann.cc/2013/10/10/embedded_development_with_open_source_tools_on_windows.html

谢谢。 穆拉特

此时 https://launchpad.net/gcc-arm-embedded 的 arm-none-eabi 工具链不支持从 Cygwin cmake/make 调用,因为它不理解已传递的 Cygwin 样式绝对路径规范.有趣的是,它可以与仅包含相对路径的 makefile 一起使用,但是 cmake 会生成具有绝对路径的 makefile。

https://bugs.launchpad.net/gcc-arm-embedded/+bug/1282943

我今天遇到了同样的问题 - 并找到了一种方法来说服 non-cygwin 应用程序将 c:/cygdrive/c/ 作为我的 /cygdrive/c 文件夹的 link 使用 一个 windows symlink.

参见https://cygwin.com/cygwin-ug-net/using-cygwinenv.html CYGWIN 环境变量 导出 CYGWIN=winsymlinks:native 光盘 c:/cygdrive/c ln -s c:/VSARM vsarm