首页| 论坛| 消息

回复: Qt5怎么启用公共语言运行时支持(/CLR)
#16 回 15151872298 的帖子 [frenzyx 09-28 10:40]
15151872298:我遇到的问题是Qt开启clr以后出现很多错误
C:\Qt\Qt5.12.0\5.12.0\msvc2015_64\include\QtCore\qhashfunctions.h:109: error: C2440: “reinterpret_cast”: 无法从“nullptr”转换为“quintptr”
F:\ZhongChaoWork\2019-8-9\MyFirst\untitled\mainwindow.h:16: error: C1192: “C .. (2019-08-09 09:15) 
请教一下,我用“#using ”时,显示#using是不存在的宏,我的是Qt5.14,这个和版本有关系吗?
#17 回 frenzyx 的帖子 [chris89 10-18 15:37]
frenzyx:请教一下,我用“#using ”时,显示#using是不存在的宏,我的是Qt5.14,这个和版本有关系吗? (2022-09-28 10:40)
请教一下,遇到相同问题,有解决方案吗?感谢
#18 回 yanniupai 的帖子 [hlhsppx123 08-03 09:42]
yanniupai:最新的Qt5.8已经不需要改pro文件了,直接使用如下引用即可,运行也要把dll拷贝到exe目录,我这有我编写的一个示例。
#using  (2017-05-10 11:19) 
为什么我试了你这个例子#using报错 error: invalid preprocessing directive
Qt5.9.7MSVC2017
#19 [hlhsppx123 08-09 13:57]
这貌似不是好的解决方案,qt的基础库好像和clr冲突,我吧qt creator开发的项目移植到visual studio上没有问题但是启用公共语言运行时支持后出现了大量问题,最后虽然编译通过了,但是qt的一些功能直接失效了。
GPT:
是的,启用公共语言运行时支持(/clr)后,Qt的一些功能可能会受到影响或失效。这是因为CLR(Common Language Runtime)和Qt的基础库之间存在一些不兼容性。
公共语言运行时支持(/clr)允许在C++代码中使用.NET框架,但它改变了代码的执行环境和行为。Qt是一个独立的C++框架,它的功能和特性是在非托管环境下设计和实现的。因此,在启用公共语言运行时支持后,Qt的某些功能可能无法正常工作。
在你的情况下,当你使用#pragma unmanaged将代码标记为非托管时,Qt的基础库可以正常工作。但是,当你使用#pragma managed将代码切回托管状态时,Qt的功能可能会受到影响,导致按钮等控件无法正常响应。
总之,启用公共语言运行时支持后,Qt的功能可能受到限制。

<< 2 3 4 >> (4/4)

回复 发表
主题 版块