我最近意识到gcc 的增量链接功能,我想使用它。问题是,我不编写自己的 Makefile - 我使用 CMake。文件间依赖关系和目标本质上是相同的,但我想让 CMake 尝试使用增量链接而不是从头开始链接来获取它们?
此外,如果即使对于库中的文件也有可能,即当您在文件中重新编译一个.o
文件.a
时,而不是在链接可执行文件时重新考虑整个文件,.o
则仅重新考虑/重新应用其中的单个文件。
为了说明,假设我CMakeLists.txt
有:
add_executable(
foo
a.cpp
b.cpp
c.cpp
)
现在,当a.cpp
更改时,我们得到一个编译a.cpp
->a.o
然后是一个常规链接a.o b.o c.o
-> foo
。我希望它是a.o foo something_else_maybe -> foo
注意:这个问题与 MSVC 及其自身的增量链接功能无关。