window下C#(winform)调用带界面的Qt库文件(DLL)

一、项目场景

C# 与 Qt 混合编程,开发软件。 Qt编写功能模块给C#调用。

Qt带界面的控件给C#调用的常见的办法有两种: 如果不带界面的就很简单,这篇文章是介绍带界面的Qt组件给C#调用。

(1)Qt封装成COM组件方式给C#调用。

(2)Qt直接编译成DLL,导出接口给C#调用。

COM组件方式在之前的好几篇文章都有详细讲解。这篇文章介绍Qt直接编译成DLL,导出接口给C#调用。

当前的开发环境:

 编译器: MSVC_VS2017
 ​
 Qt版本: 5.12.6 

二、案例1

Qt直接编译成DLL,导出接口给C#调用。

2.1 Qt创建DLL

如果现在已经有一个完整的Qt项目,编译成exe可以运行,如果改为DLL给C#调用?

(1)修改pro文件 增加配置,表示生成dll库文件。

 TEMPLATE = lib
 DEFINES += DLL_CREATETEST_LIBRARY

(2)修改main.cpp 增加代码

 //DLL入口,加载DLL会调用
 BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpvReserved*/ )
 {
      qDebug()<<"DllMain 被调用....";
     static bool ownApp

猜你喜欢

转载自blog.csdn.net/xiaolong1126626497/article/details/128451830