【发布时间】:2014-11-29 22:24:31
【问题描述】:
我最近开始使用 Eclipse CDT 来开发 C++ 应用程序。 我下载了 Eclpse Kepler CDT 包,它可以正常打开,但是当我创建一个简单的 hello world 应用程序时,我收到一个错误“找不到二进制文件”,即使在构建项目之后也是如此。
我会告诉你我的控制台显示什么
19:54:11 **** Incremental Build of configuration Debug for project HelloWorld ****
make all
Building file: ../src/HelloWorld.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/HelloWorld.d"-MT"src/HelloWorld.d" -o "src/HelloWorld.o" "../src/HelloWorld.cpp"
cc1plus: error: to generate dependencies you must specify either -M or -MM
make: *** [src/HelloWorld.o] Error 1
19:54:11 Build Finished (took 106ms)
我尝试使用 2 个工具链 Cross GCC 和 Linux GCC 运行程序。
谁能告诉我怎么了?
【问题讨论】:
-
您使用的是什么编译器版本?你可以将你的makefile的内容添加到问题中吗?正如给定的那样,编译文件的指令似乎适用于 MinGW w64 4.9.1 以及 g++ 4.7.3。作为旁注,
-MF和-MT标记之间似乎缺少一个空格,但这似乎不是您出错的原因。 -
我的编译器版本是4.5.1。 make文件是eclipse默认生成的标准文件。您能否告诉我如何将 -M 或 -MM 选项添加到 eclipse;s 的构建参数?谢谢
-
据我所知,您不应该这样做。
-MMD应该没问题。我已经有一段时间没有使用 Eclipse,因为我很虐待狂,更喜欢制作自己的 Makefile。但是,要添加命令行选项,您可以转到 Project -> Properties -> C/C++ Build -> Settings -> Tool Settings -> Compiler -> Miscellaneous 并添加-M或-MM到 其他标志。见this screenshot。 -
我在项目的首选项下添加参数后,代码编译并运行完美:)
-
很高兴它有帮助。添加为下一个遇到相同问题的人的答案。现在我也可以在将来清理时取消指向屏幕截图的链接而不会搞砸。
标签: c++ eclipse gcc g++ eclipse-cdt