关于 Scanning dependencies of target 进度缓慢的处理方式

尽量避免编译单一库文件(或可执行文件)包含过多文件,应使其模块化。

 

例如,将原先的一个.a文件拆分为5个甚至更多个.a文件,这样会使cmake的扫描速度加快。从而加快编译速度。

 

方式一:

set(src_all

  ${src_1}

  ${src_2}

  ${src_3}

  ${src_4}

  ${src_5}

)

ADD_LIBRARY(mylibrary STATIC ${src_all})

TARGET_LINK_LIBRARIES(myexe mylibrary)

 

方式二:

ADD_LIBRARY(mylibrary1 STATIC ${src_1})

ADD_LIBRARY(mylibrary2 STATIC ${src_2})

ADD_LIBRARY(mylibrary3 STATIC ${src_3})

ADD_LIBRARY(mylibrary4 STATIC ${src_4})

ADD_LIBRARY(mylibrary5 STATIC ${src_5})

TARGET_LINK_LIBRARIES(myexe mylibrary1 mylibrary2 mylibrary3 mylibrary4 mylibrary5)

 

方式二会优于方式一。

posted on 2018-11-30 16:53  sticker  阅读(3928)  评论(0)    收藏  举报