我已经对此进行了搜索,但我发现的问题是关于让工具链工作的问题,我的问题是它适用于除少数几个目录之外的所有目录。我也不是在构建 Linux。
我正在尝试将项目从 Linux 机器转移到 Windows 以使人们开心。相同的项目在 Linux (Ubuntu 12.04) 下使用相同工具链的 Linux 二进制文件构建良好(我最近从 Mentor 的同一目录重新加载了两个工具链,以确保,请参阅下面的详细信息)。
我安装了 Cygwin,获取了包,设置了路径等。一般来说,该构建适用于 90% 的项目,但由于 make 遍历目录,它会找到除两个文件之外的所有文件(澄清一下,这两个是他们的第一个文件相应的目录,所以我认为问题将适用于整个目录)。下面的日志显示了第一次失败:
- 如果我将 lwip 从构建中取出,那么它会在下一个构建中爆炸
- 如果我从构建中取出下一个,那么其他所有内容(相当多)都会编译;然后链接器按预期在两个丢失的项目上失败。
更准确地说,例如
它找到 /home/Nadi/project/version-2.9/external/freertos/Source/portable/GCC/ARM_CM3_MPU/port.c
但不是 /home/Nadi/project/version-2.9/external/lwip/src/api/api_lib.c
从我正在运行 make 的目录中,“ls”找到编译器无法找到的文件。
日志:
$ make
external/freertos
external/lwip
[cc] Debug/api_lib.o
arm-none-eabi-gcc.exe: error: /home/Nadi/project/version-2.9/external/lwip/src/api/api_lib.c: No such file or directory
arm-none-eabi-gcc.exe: fatal error: no input files compilation terminated.
Makefile:189: recipe for target `Debug/api_lib.o' failed
make[2]: *** [Debug/api_lib.o] Error 1
Makefile:37: recipe for target `lwip_world' failed
make[1]: *** [lwip_world] Error 2
Makefile:160: recipe for target `extern' failed
make: *** [extern] Error 2
细节:
- GCC 链:arm-none-eabi-gcc;gcc 版本 4.7.2 (Sourcery CodeBench Lite 2012.09-63)
- 赛格温:CYGWIN_NT-6.1-WOW64