这个问题已经有了答案:
通常,几个不同的库/可执行文件将与输入共享同一个.cpp文件,而我不希望多次编译一个cpp文件。cmake是否支持如下命令 add_object(...) ?
add_object(...)
如何做到这一点?
谢谢。
在最新的cmake版本中,可以使用对象库:
add_library(my_cpps OBJECT a.cpp b.cpp c.cpp)
然后您可以将其“链接”到其他目标:
add_library(my_lib1 d.cpp e.cpp f.cpp) target_link_libraries(my_lib1 PUBLIC my_cpps) add_library(my_lib2 f.cpp g.cpp h.cpp) target_link_libraries(my_lib2 PUBLIC my_cpps)