rro de compilação da especialização do modelo de função

##A.hh

template<class T> void func(T t) {}
template<> void func<int>(int t) {}

void func2();

##A.cpp

void func2() {}

##main.cpp

func("hello");
func(int());

O erro que recebo é: erro LNK2005: "void __cdecl func (int)" (?? $ func @ H @@ YAXH @ Z) já definido em A.obj, um ou mais símbolos de definição múltipla encontrados

Uma especialização de modelo de função não é tratada como um modelo de função normal? Parece que ele estará no arquivo objetivo de A.