社区
其他技术讨论专区
帖子详情
Qt5怎么启用公共语言运行时支持(/CLR)
weixin_38049770
2019-09-19 11:45:02
最近项目里需要调用C#代码,需要C++里的公共语言运行时支持(/CLR)VS选项设置里可以直接启用,Qt5怎么启用,总不能C#->VS++->Qt5这样把
...全文
1060
8
打赏
收藏
Qt5怎么启用公共语言运行时支持(/CLR)
最近项目里需要调用C#代码,需要C++里的公共语言运行时支持(/CLR)VS选项设置里可以直接启用,Qt5怎么启用,总不能C#->VS++->Qt5这样把
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weixin_38131945
2019-09-19
打赏
举报
回复
这么久了还能收到回复
weixin_38146045
2019-09-19
打赏
举报
回复
我遇到的问题是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:\Program Files (x86)\ABB Industrial IT\Robotics IT\SDK\PCSDK 6.05\ABB.Robotics.Controllers.PC.dll”“系统找不到指定的路径。”上的 #using 失败
weixin_38053367
2019-09-19
打赏
举报
回复
1
没有人调用过C#的代码吗?
weixin_38061618
2019-09-19
打赏
举报
回复
应该加一些编译参数的吧我直接用vs的
weixin_38091030
2019-09-19
打赏
举报
回复
终于在一篇位置中找到QMAKE_CXXFLAGS += /clr不过马上报错cl: 命令行 error D8016 :“/clr”和“/EHs”命令行选项不兼容
weixin_38095196
2019-09-19
打赏
举报
回复
你可以在vs工程属性里看 他加了一些什么参数我看启用clr /EHs 会变成 /EHa我是直接用VS写QT和CLR的,qt里直接用调C#的代码
weixin_38097791
2019-09-19
打赏
举报
回复
google上不停的搜索,零零散散的资料,终于还是让我解决了pro里面加编译参数:复制代码QMAKE_CXXFLAGS += /clrwin* { QMAKE_CXXFLAGS_EXCEPTIONS_ON = /EHa QMAKE_CXXFLAGS_STL_ON = /EHa}代码里显性调用C#的dll复制代码#using <I:/bin/Release/NL70ITX(CS).dll> 运行时C#dll必须和你的主程序在一个目录下,比如目录a下有a.exe 目录b/b.dll b.dl调用c#.all,c#.all 还是得还a.exe一个目录
weixin_38113297
2019-09-19
打赏
举报
回复
最新的Qt5.8已经不需要改pro文件了,直接使用如下引用即可,运行也要把dll拷贝到exe目录,我这有我编写的一个示例。
MyFirst.rar (1943 K) 下载次数:76 #using <I:/bin/Release/NL70ITX(CS).dll>
C#和.Net的优点研究了一下C#和.Net,有很多体会,好的不好的都有。随便谈谈,供大家参考。
C#保留了对底层操作系统API的直接调用和指针。肯定是因为看到了Java的速度问题以及JNI的笨重,所以在设计C#时特意保留了这些C++的特性,避免了重导覆辙,也使得C#可以用来开发系统软件。普通应用都是调用.Net的程序集(相当于Java的类库,程序集里面都是byte code,不是native code),对于速度敏感,或者平台相关型应用,直接通过特定声明来调用Windows API。这样就可以功能,效率和速度都兼顾,解决各种各样的应用层问题和系统层问题(可以用C#来写系统软件了),用一种
语言
来解决所有场合的大部分问题,所以MS对C#很有信心。
此文针对使用:
公共
语言
运行时
支持
(/
clr
)
1.使用
公共
语言
运行时
支持
是为了将C++代码编译给C#使用。 2.如果项目属性中设置了:配置属性->常规->
公共
语言
运行时
支持
->
公共
语言
运行时
支持
(/
clr
), 但是:配置属性->(C/C++) ->常规->
公共
语言
运行时
支持
->无
公共
语言
运行时
支持
则编译出错 这时候需要将配置属性->(C/C++) ->常规->公...
QT 开启
CLR
支持
google上不停的搜索,零零散散的资料, 终于还是让我解决了 pro里面加编译参数: 复制代码 QMAKE_CXXFLAGS += /
clr
win* { QMAKE_CXXFLAGS_EXCEPTIONS_ON = /EHa QMAKE_CXXFLAGS_STL_ON = /EHa } 代码里显性调用C#的dll 复制代码 #using <I:/bin/Release/NL70ITX(CS).dll>
运行时
C#dll必须和你的主程序在一个目录下, 比如目录a...
用VS编译QT工程,启动
公共
语言
支持
后,QT的drag和drop失常解决方法
关键词: VS,
CLR
,QT,drag,drop. 本人的项目中由于需要用到C++调用C#,需要在VS中使用MSVC编译,而且,需要开启
公共
语言
支持
。如下图: 但是QT工程中的dragEnterEvent和dropEvent不能正常工作了。具体解决方法如下: 在Property中找到链接器,高级,里面把
CLR
线程特性改为如图所示即可。 参考https://foru
C++使用命名空间using namespace System;
会编译报错,找不到System等。此时打开项目属性->C/C++->常规->
公共
语言
运行时
支持
,将其修改为
公共
语言
运行时
支持
(/
clr
)。->“常规”->“调试信息格式”->选择“程序数据库(/Zi)”或“无”D8016 “/
clr
”和“/ZI”命令行选项不兼容。D8016 “/
clr
”和“/RTC1”命令行选项不兼容。D8016 “/
clr
”和“/EHs”命令行选项不兼容。”->选择“是,但有SEH 异常(/EHa)”。->“代码生成”->“->“代码生成”->“”->选择“默认值”。
其他技术讨论专区
474
社区成员
791,136
社区内容
发帖
与我相关
我的任务
其他技术讨论专区
其他技术讨论专区
复制链接
扫一扫
分享
社区描述
其他技术讨论专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章