项目实战:Qt编译Qt库以及使用C#调用Qt库,并实现C#集成Qt的tcp客户端

简介: 项目实战:Qt编译Qt库以及使用C#调用Qt库,并实现C#集成Qt的tcp客户端

需求

  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

  

  以下是集成客户端的演示:

  

  

  

  


工程模板

  cSharpCallQtDllDemo_基础模板_v1.0.0.rar

  cSharpCallQtDllDemo_定制连接服务器_传输数据.rar


入坑

入坑一:错误“未加载ucrtbase.pdb"

错误

  

解决

  需要对Qt的库进行初始化操作并且到用windeployqt导入库先关的依赖性项。


相关文章
|
3月前
|
网络协议
【qt】TCP客户端信息的接受和发送
【qt】TCP客户端信息的接受和发送
34 0
|
3月前
|
网络协议
【qt】TCP客户端如何断开连接?
【qt】TCP客户端如何断开连接?
64 0
|
4月前
|
Linux iOS开发 开发者
Qt问题(二):无法定位程序输入点于动态链接库
动态链接库(Dynamic Link Library,简称DLL)是一种可执行文件格式,常见于Windows操作系统中,而在Linux和macOS等其他操作系统中,相似的概念通常被称为共享库(Shared Library)。动态链接库允许程序在运行时加载所需的代码和数据,而不是在编译时静态链接到应用程序中。这种方式带来了几个重要的优点:
464 3
|
2月前
|
SQL C# 数据库
EPPlus库的安装和使用 C# 中 Excel的导入和导出
本文介绍了如何使用EPPlus库在C#中实现Excel的导入和导出功能。首先,通过NuGet包管理器安装EPPlus库,然后提供了将DataGridView数据导出到Excel的步骤和代码示例,包括将DataGridView转换为DataTable和使用EPPlus将DataTable导出为Excel文件。接着,介绍了如何将Excel数据导入到数据库中,包括读取Excel文件、解析数据、执行SQL插入操作。
EPPlus库的安装和使用 C# 中 Excel的导入和导出
|
1月前
|
存储 消息中间件 NoSQL
Redis 入门 - C#.NET Core客户端库六种选择
Redis 入门 - C#.NET Core客户端库六种选择
60 8
|
2月前
|
SQL 开发框架 安全
并发集合与任务并行库:C#中的高效编程实践
在现代软件开发中,多核处理器普及使多线程编程成为提升性能的关键。然而,传统同步模型在高并发下易引发死锁等问题。为此,.NET Framework引入了任务并行库(TPL)和并发集合,简化并发编程并增强代码可维护性。并发集合允许多线程安全访问,如`ConcurrentQueue<T>`和`ConcurrentDictionary<TKey, TValue>`,有效避免数据不一致。TPL则通过`Task`类实现异步操作,提高开发效率。正确使用这些工具可显著提升程序性能,但也需注意任务取消和异常处理等常见问题。
48 1
|
3月前
|
C# 数据库
C# 使用 DbDataReader 来访问数据库
C# 使用 DbDataReader 来访问数据库
68 2
|
4月前
|
Oracle 关系型数据库 Linux
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
通过这一连串的步骤,可以专业且有效地在Linux下为Qt编译Oracle驱动库 `libqsqloci.so`,使得Qt应用能够通过OCI与Oracle数据库进行交互。这些步骤适用于具备一定Linux和Qt经验的开发者,并且能够为需要使用Qt开发数据库应用的专业人士提供指导。
149 1
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
|
3月前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
163 0
|
3月前
|
API 开发工具 C语言
C语言与图形界面:利用GTK+、Qt等库创建GUI应用。
C语言与图形界面:利用GTK+、Qt等库创建GUI应用。
185 0

推荐镜像

更多
下一篇
无影云桌面