我正在运行
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 ++项目,如下所示:
然后我创建一个包含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会这样吗?非常感谢。
答案 0 :(得分:2)
试 $ make all ,而不是 $ make 它应该有效。