我是Linux和构建系统的新手,我正试图将代码库从Linux转移到Windows。我在构建方面遇到了一些问题。
我已经安装了
- 天鹅
- 来自https://launchpad.net/gcc-arm-embedded的臂无eabi-gcc
当我构建我的应用程序时,我收到以下错误:
arm-none-eabi-gcc.exe: error:
/cygdrive/d/developments/RIOT/examples/ipc_pingpong/main.c: No such file or directory
arm-none-eabi-gcc.exe: fatal error: no input files
compilation terminated.
这看起来像是cygwin(cygdriver)和windows之间的路径问题。我也将CYGPATH
设置为c:\cygwin64\bin\cygpath.exe,但结果是相同的。
为什么gcc编译器看不到我的文件?
问候。
穆拉特
4条答案
按热度按时间yi0zb3m41#
此时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
klr1opcd2#
检查命令的输出
如果您可以找到gcc文件的路径,则表示您没有问题。如果您无法找到,请修改env变量PATH,包括gcc的路径,如下所示。如果gcc文件的完整路径为$/gcc,则必须更正$PATH,如下所示
$PATH可以在主目录的.profile文件中定义。
44u64gxh3#
我尝试了MinGW而不是Cygwin,问题解决了。
以下链接对MinGW设置非常有用:http://www.jann.cc/2013/10/10/embedded_development_with_open_source_tools_on_windows.html
谢谢穆拉特
tgabmvqs4#
我今天遇到了同样的问题-a我找到了一种方法,可以说服非cygwin应用程序使用windows符号链接将
c:/cygdrive/c/
视为指向我的/cygdrive/c
文件夹的链接:(Run
cmd
作为管理员)参见https://cygwin.com/cygwin-ug-net/using-cygwinenv.html CYGWIN环境变量