【发布时间】:2012-10-03 16:29:58
【问题描述】:
我在./src 目录中有几个 cpp 和 hpp 文件。我将所有 cpp 文件编译到一个二进制文件中,比如./bin/run。我只想在需要时重新编译,即它或其标题之一已更改。
我可能可以创建 Makefile,当且仅当文件被更改时才会重新编译文件,但这很不舒服,因为我的大部分代码都在标题中。 (不会改,因为product本身就是header,cpp文件是test)。
我想在./build中存储临时的.o文件
我知道g++ -MM 函数,但我不知道如何使用它。
我很高兴看到使用不必要的make 的解决方案,但如果它们足够简单,则可以使用任何其他系统。
UPD 我会试着澄清一下,问题是什么:
可能会创建新的 cpp,可能会添加或删除包含,等等。我不想每次都编辑我的 makefile。
【问题讨论】:
-
你为什么不想使用make?这是为了解决这个问题。
-
为什么还不能使用make,但是对于headers,将headers设置为make目标而不是cpp文件?
-
您可以使用SCons,它会自动确定C++代码中的依赖关系。
-
@Adam:哦。我的意思是,不是仅制作,我编辑了它。
-
@slugonamission,因为我不编译头文件,我编译依赖头文件的cpp,然后编辑头文件并再次编译cpp