当然我们知道不能直接在Qt中调用C#封装的dll,我这边采用的实现方案是先用VS建好C#类库项目,再用VS创建CLR项目调用上一步生成的DLL,得到.lib和.dll供Qt项目调用。具体操作步骤参考的这篇博文:
https://blog.csdn.net/u012902367/article/details/105128531 在此也感谢该文博主。
函数库调用成功后,遇到一个问题是如何将C#函数中的System::String类型的参数传出来,在Qt中得到QString类型的数据。
经过探索以及实验,发现以下步骤可行:
- C#项目函数定义中参数为ref String formula;
- CLR C++项目函数定义中参数为char** formula,在函数体中新建System::String对象:
String^ clr_formula = gcnew String("");
去调用C#生成的DLL函数;