在更新代码不起作用后,从命令行运行eclipse生成的makefile

时间:2013-08-13 15:39:50

标签: c++ makefile eclipse-cdt

我正在运行

  

eclipse juno Service Release 2使用this CDT config构建ID:20130225-0426

和这个操作系统:

uname -a的截断输出):Linux 3.2.0-51-generic #77-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux

我创建了一个HelloWorld C ++项目,如下所示:

  • 文件 - >新建> C ++项目
  • 项目类型:可执行空项目
  • 工具链:跨GCC
  • 配置:已选中“调试和发布”

然后我创建一个包含hello world代码的C ++源文件Main.cpp

然后我可以使用锤子图标进行编译。我选择在发布模式下编译。程序运行正常(在eclipse或命令行中)并打印“hello”。 如果我修改代码打印出“你好那里”,我可以用锤子重新编译,程序仍然正常运行并打印出“你好那里”。

但是,如果我修改代码以打印出“hello there you”,请转到Release目录(/home/user/workspace/HelloWorld/Release)并输入make,我收到此消息:make: Nothing to be done for 'Main.d'

Release目录中有一个名为makefile的文件,但它的行为与普通的makefile不同。我希望这个makefile是这样的,当代码发生变化并输入make时,代码实际上会被重新编译。如果我键入make clean后跟make,则会重新编译代码,但这对于较大的项目来说效率很低。

你知道为什么eclipse生成的makefile会这样吗?非常感谢。

1 个答案:

答案 0 :(得分:2)

$ make all ,而不是 $ make 它应该有效。