[Why] met multiple definition error Signed-off-by: Lu Weitao <luweitaobe@163.com> (cherry picked from commit 170b36466cc56fc4ad42b72c951782241f74d81d)