若该文为原创文章,转载请注明原文出处
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/109338289
各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)
Qt开发专栏:项目实战(点击传送门)
需求
1.Qt已经开发了应用,封装成Qt库,以供C#调用。
2.Qt的tcp客户端封装,以供C#调用,双向传递数据。
原理
1.使用QtCreator编译msvc版本的Qt库;
2.使用VS2017开发C#程序引入Qt库;
3.双向传递指针、传递数组;
相关博客
《项目实战:Qt编译Qt库以及使用C#调用Qt库,并实现C#集成Qt的tcp客户端》
《VS2017编写MFC库以及使用Qt调用MFC库方法》
《VS2017编写纯C库以及使用C#调用C库方法》
《Qt实用技巧:VS2017编写纯C库以及使用Qt调用C库方法》
《关于 C#调用C库Dll,有回调函数时,只执行一次回调函数就直接挂掉 的解决方法》
《关于 C#调用一个C/C++dll库运行时实现多个应用(静态变量区分) 的解决方法》
《关于 C#调用c库,将C#的byte[]传入C库的方法和将C库的char*向上传入C#的回调函数byte[] 的方法》
Demo
以下是集成客户端的演示:
入坑
入坑一:错误“未加载ucrtbase.pdb"
错误
解决
需要对Qt的库进行初始化操作并且到用windeployqt导入库先关的依赖性项。