您的位置:首页 > 科技 > 能源 > 人气最高的网络游戏排行榜_物流公司官方网站_深圳网络推广培训_绍兴seo公司

人气最高的网络游戏排行榜_物流公司官方网站_深圳网络推广培训_绍兴seo公司

2025/3/17 4:41:25 来源:https://blog.csdn.net/Stone_Wang_MZ/article/details/146048851  浏览:    关键词:人气最高的网络游戏排行榜_物流公司官方网站_深圳网络推广培训_绍兴seo公司
人气最高的网络游戏排行榜_物流公司官方网站_深圳网络推广培训_绍兴seo公司

使用C++/CLI 来调用C#的dll

任务分解:
1、实现C#封装一个调用hsl的dll;
2、实现C++控制台调用C#的dll库;
3、把调用C#的dll用C++再封装为一个dll;
4、最后再用Qt调用c++的dll;

填坑:
1、开发时VS需要安装CLI项目库,不然新建项目时找不到;
在这里插入图片描述
2、开发时需要安装这几个.net环境;

很可能是因为 C++/CLI 项目的 CLRSupport 属性和 TargetFramework 之间存在不匹配情况。

在这里插入图片描述
3、项目属性中设置;“公共语言运行时支持(/clr)”和“符合模式”设置为“否”;
在这里插入图片描述
4、错误 C1189 #error: <future> is not supported when compiling with /clr or /clr:pure. (编译源文件 main.cpp)
该报错是Qt中的库和CLR有冲突,所以需要把调用C#的dll另外再封装为一个dll做隔离;
5、result = DllMain(instance, reason, reserved);
运行时在这里崩溃,头文件不要暴露CLI的相关库,用纯虚基类或IMPL;

6、本机正常运行后拷贝到其他电脑后运行崩溃,需要安装.net;

.net8.0
.net5.0

参考:
https://blog.csdn.net/Charles_ke/article/details/133957818

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com