C++ 避免在共享库中生成模板头

C++ 避免在共享库中生成模板头,c++,templates,c++11,build,C++,Templates,C++11,Build,我有一个共享库,它的头包括带有模板函数的类。每当我更改模板函数时,我必须再次执行makeclean和make,以“更新”。因此文件。有没有办法避免每次我在标题中更改模板函数时构建共享库?我不太明白您的要求,如果包含这些函数模板的标题包含在正在编译到共享库中的文件中,那么在修改标题时将重建库,如果它正在使用函数模板,那么它应该是。如果编译到共享库中的代码没有使用函数模板,那么您可能需要将它们移动到一组单独的头文件中,以便修改这些头文件不会触发重建。您是如何在makefile中构造依赖项的?如果您天

我有一个共享库,它的头包括带有模板函数的类。每当我更改模板函数时,我必须再次执行
makeclean
make
,以“更新”
。因此
文件。有没有办法避免每次我在标题中更改模板函数时构建共享库?

我不太明白您的要求,如果包含这些函数模板的标题包含在正在编译到共享库中的文件中,那么在修改标题时将重建库,如果它正在使用函数模板,那么它应该是。如果编译到共享库中的代码没有使用函数模板,那么您可能需要将它们移动到一组单独的头文件中,以便修改这些头文件不会触发重建。您是如何在makefile中构造依赖项的?如果您天真地说每个源文件都依赖于每个头文件,那么是的,您需要在每次更改任何内容时重建所有内容。如果您使用的工具基于
#include
语句生成依赖项,那么您只需要重新生成依赖于更改文件的内容。我所知道的任何工具都不会在代码中深入查看您使用的特定定义是否已更改。你不妨重新编译。