多个目标模式?

我正在尝试编译ac文件,其中包含Mongo数据库的驱动程序。 我可以从Cygwin成功编译它,但是当我转向Netbeans时,我得到了这个。 我应该提一下,只有在C编译器的附加选项中添加“-std = c99”后才会发生这种情况。

更新:
从Netbeans成功编译。 但是“-std = c99”让我很生气。 如果我有它说(每次编译后,如果我不删除obj文件):

build/Debug/Cygwin_4.x-Windows/main.od:1: *** multiple target patterns. Stop. 

更新:
main.od的内容是:

 build/Debug/Cygwin_4.x-Windows/main.o: main.c \ c:/mongodb-driver/src/mongo.hc:/mongodb-driver/src/bson.h \ c:/mongodb-driver/src/platform.h c:/mongodb-driver/src/mongo.h: c:/mongodb-driver/src/bson.h: c:/mongodb-driver/src/platform.h: 

引用现有答案,因为您可能遇到同样的问题

“在使用Cygwin之前我已经看过这个问题了 – 基本上,make在路径中看到:并且认为它是另一个目标定义,因此错误。

如果您正在使用Cygwin安装,则可以尝试将c:/替换为/ cygdrive / c /。 如果没有,您可以尝试使用相对路径或使用网络安装,看看是否修复它“。

应用程序因eclipse中的多个目标而失败

从你的评论:

@Lumi如何安装它而不必每次都编辑它?

修复生成main.od (可能还有很多其他.d文件)的脚本来编写相对路径,或Cygwin所理解的绝对路径。

或者,考虑使用MinGW代替Cygwin是否适合您。 (但我觉得你在走这条路时会遇到更多问题。)

最终,为了应对Makefiles,您需要了解Make的工作原理。 GNU Make有一本全面的手册。 我发现这些技巧非常有用。 在这个阶段,最适合你的可能是Scott Duckworth的Make教程 。