如图所示我从自己封装的动态库中emit传出std::string外部无法收到,甚至return “123”这一句外部也接收不到打印不出来,但是调试打断点时发现,打印结果
deviceDescriptorSerialNumber_:46473c8f 634393438313651
库内部是能把正确数据打印出来的,为什么?
是我配置属性,runtimeLib运行库的问题吗,我动态库只有/MTD,/MDD能编过,不然会出现,
而项目是只能用/MD,不然编译会报检测到:MD不匹配值MT
如图所示我从自己封装的动态库中emit传出std::string外部无法收到,甚至return “123”这一句外部也接收不到打印不出来,但是调试打断点时发现,打印结果
deviceDescriptorSerialNumber_:46473c8f 634393438313651
库内部是能把正确数据打印出来的,为什么?
是我配置属性,runtimeLib运行库的问题吗,我动态库只有/MTD,/MDD能编过,不然会出现,
而项目是只能用/MD,不然编译会报检测到:MD不匹配值MT
引自免费微信小程序:皆我百晓生
从你提供的信息来看,问题可能出在你的项目属性配置上。以下是可能的解决方法:
1. 检查运行库的匹配性:
在你的Qt项目中,确保所有模块都使用相同的运行库。如果你的动态库是使用/MTD编译的,那么你的应用程序也应该使用/MTD编译。
请注意,根据你提供的信息,你的项目似乎只能使用/MD编译,所以请确保动态库也使用/MD编译。
2. 检查函数签名:
请确保信号和槽函数的参数类型和数量是匹配的。根据你提供的信息,你的信号函数signalSeriNum
的参数类型是std::string
,而槽函数slotRecvSeriNumFromControl
的参数类型是std:string
(请注意标点符号是错误的,应该是std::string
)。请确保参数类型完全一致。
3. 检查信号和槽的连接:
请确保信号和槽是正确连接的。在你的应用程序中,你需要使用connect
函数来连接信号和槽。确保你正确连接了信号signalSeriNum
和槽slotRecvSeriNumFromControl
,并且连接代码位于正确的位置。
如果你还是无法解决问题,请提供更多相关的代码和错误信息,以便我提供更准确的帮助。