Tre*_*ith 5 c eclipse cygwin makefile eclipse-cdt
更新1:我原来的帖子太长,模糊了真正的问题.我已经发现在调用Make时究竟是什么导致了"多个目标"错误.
更新2:我发现这个"多目标"错误是由GNU Make版本3.8.1引起的(参见here1和here2).GNU Make 3.8.1是与Cygwin一起发布的当前GNU Make.总结链接:旧的v3.8.0处理窗口路径很好,而较新的v3.8.1报告了Windows路径的错误(也许它是来自FSF的被动攻击性攻击?).
当您在Eclipse + CDT + Cygwin中启动一个没有外部包含/库的新项目时,一切都适合我.
一旦我尝试使用外部包含/库,我就会收到"多个目标"错误.
以下是在Windows + Eclipse + CDT + Cygwin上重现错误所需的步骤:
Eclipse提取了一个makefile.当make从外部库中看到新包含文件的Windows路径时,会发生错误:
# NOTE: Error happens when the first "C:/" occurs
src/main.d src/main.o: ../src/main.c C:/dir1/dir2/ExternalLibrary.h
Run Code Online (Sandbox Code Playgroud)
Make得到错误"Multiple targets"的原因是因为它看到了":",它是Make语法的一部分,用于声明目标.如果有两个":",则输出错误,因为它不知道如何处理"多个目标".
我无法手动编辑makefile,因为它们会立即重新生成并被覆盖[UPDATE:by Eclipse-CDT].鉴于我无法手动编辑makefile.
*非常非常沮丧*
试图保持开源和跨平台用户,
特雷弗
事实证明,“多个目标”问题是由 Cygwin 安装的 GNU Make 的当前版本引起的。GNU Make 3.8.1 是当前随 Cygwin 一起发布的 GNU Make。
GNU Make 3.8.1 不处理包含“C:\”的 Windows 路径。因此,每当您的 make 文件具有带有“C:\”的 Windows 路径时,您都会收到构建错误“多个目标”。
我最终做的解决方案是下载一个固定的 GNU Make v3.8.1。请参阅此处 1或此处 2。然后Eclipse+CDT+Cygwin又工作正常了。
更新(2015 年 2 月 5 日):使用更新的 cygwin 和新的 Make (4.0.x),问题就消失了。 https://superuser.com/questions/154418/where-do-i-get-make-for-cygwin
| 归档时间: |
|
| 查看次数: |
6322 次 |
| 最近记录: |