模板注册类的不知道是什么坑,记录一下

添加了一个新类,并自动注册类工厂中去

FACTORY_REGISTER(int, InixxxData, InixxxData::INI_DATA_TYPE_xxxxx, InixxxxxData, InixxxxxxyyyyyData)
 
 

编译程序时老出现文件,调试时发觉定位到模板中去了

注册类模板就不写了,可以参考

https://blog.csdn.net/A_L_A_N/article/details/114852146

最后发觉居然跟文件顺序有关,因为原先中就在用,所以注册类工厂的模板理论上没有问题,我就是后面加了个类,用他这种方式,想不到抄都抄出问题了,最后排查的结果是我添加类时文件与太前了,为什么太前会出错,我不知道啊,感觉是注册早了,是不是这个类工厂本身也要注册,没详细查

注销掉上面的那个代码,还会提示错误

//FACTORY_REGISTER(int, InixxxData, InixxxData::INI_DATA_TYPE_xxxxx, InixxxxxData, InixxxxxxyyyyyData)

InixxxxxData.obj:-1: error: LNK2001: unresolved external symbol "public

不过通过错误,大致才知道这个是注册类工厂

解决办法把文件后移

猜你喜欢

转载自blog.csdn.net/qq_30377315/article/details/128919221