1. 前置声明 如果是一个结构,前置声明为class。 就会导致用这个结构的指针作为参数的函数链接失败,提示找不到该函数。 2.返回类型 函数的返回类型也会放到函数的修饰中,所以如果两个函数的名称和参数完全一样,但是返回值不一样,比如一个返回int,一个返回long,也会导致链接失败。 3.找不到 ?staticMetaObject@QtStringPropertyManager@@2UQMetaObject@@B 这个可以用depends walker看一下动态库,动态库里有导出,而且修饰完全一样。那这个问题的关键是引入QtStringPropertyManager类时,没有使用_declspec(dllimport),导致静态属性无法找到。原来dllimport是为了更好的处理类中的静态成员变量的,如果没有静态成员变量,那么这个__declspec(dllimport)无所谓 详细解释见:https://blog.csdn.net/u010055724/article/details/51538686
|
|