• 4508阅读
  • 10回复

[提问]Qt5怎么启用公共语言运行时支持(/CLR) [复制链接]

上一主题 下一主题
离线yanwuyue
 

只看楼主 倒序阅读 楼主  发表于: 2016-06-25
— 本帖被 XChinux 设置为精华(2017-05-10) —
最近项目里需要调用C#代码,需要C++里的公共语言运行时支持(/CLR)

VS选项设置里可以直接启用,Qt5怎么启用,

总不能C#->VS++->Qt5这样把
离线yanwuyue

只看该作者 1楼 发表于: 2016-06-27
没有人调用过C#的代码吗?
离线zhang2349

只看该作者 2楼 发表于: 2016-06-27
应该加一些编译参数的吧
我直接用vs的
离线yanwuyue

只看该作者 3楼 发表于: 2016-06-30
回 zhang2349 的帖子
zhang2349:应该加一些编译参数的吧
我直接用vs的 (2016-06-27 16:14) 

VS下的我会,不知道Qt下怎么启用/CLR,
我现在是Qt拖一个VC的dll,VC的dll再拖一个C#的dll
离线yanwuyue

只看该作者 4楼 发表于: 2016-06-30
终于在一篇位置中找到

QMAKE_CXXFLAGS += /clr

不过马上报错

cl: 命令行 error D8016 :“/clr”和“/EHs”命令行选项不兼容

离线zhang2349

只看该作者 5楼 发表于: 2016-07-01
你可以在vs工程属性里看 他加了一些什么参数
我看启用clr  /EHs 会变成 /EHa


我是直接用VS写QT和CLR的,qt里直接用调C#的代码
离线yanwuyue

只看该作者 6楼 发表于: 2016-07-05
google上不停的搜索,零零散散的资料,
终于还是让我解决了
pro里面加编译参数:
  1. QMAKE_CXXFLAGS += /clr
  2. win* {
  3.    QMAKE_CXXFLAGS_EXCEPTIONS_ON = /EHa
  4.    QMAKE_CXXFLAGS_STL_ON = /EHa
  5. }

代码里显性调用C#的dll
  1. #using <I:/bin/Release/NL70ITX(CS).dll>


运行时C#dll必须和你的主程序在一个目录下,
比如目录a下有a.exe  目录b/b.dll  b.dl调用c#.all,c#.all 还是得还a.exe一个目录
离线yanniupai

只看该作者 7楼 发表于: 2017-05-10
最新的Qt5.8已经不需要改pro文件了,直接使用如下引用即可,运行也要把dll拷贝到exe目录,我这有我编写的一个示例。 MyFirst.rar (1943 K) 下载次数:60
#using <I:/bin/Release/NL70ITX(CS).dll>
本帖提到的人: @yanwuyue
离线fengwujiutan

只看该作者 8楼 发表于: 2017-10-12
回 yanniupai 的帖子
yanniupai:最新的Qt5.8已经不需要改pro文件了,直接使用如下引用即可,运行也要把dll拷贝到exe目录,我这有我编写的一个示例。[图片]
#using <I:/bin/Release/NL70ITX(CS).dll> (2017-05-10 11:19) 

你好,我按照你的方法,尝试了一下在头文件中添加
#include <vcclr.h>
都报错,提示没有该文件,能否再次请教一下
离线fengwujiutan

只看该作者 9楼 发表于: 2017-10-13
回 yanwuyue 的帖子
yanwuyue:google上不停的搜索,零零散散的资料,
终于还是让我解决了
pro里面加编译参数:
QMAKE_CXXFLAGS += /clr
win* {
....... (2016-07-05 14:02) 

你好,我复制代码后放到pro文件中,编译不过,提示error: /clr: No such file or directory  
error: /EHa: No such file or directory ,请问怎么解决?谢谢,能否留个联系方式,交流一下

只看该作者 10楼 发表于: 12-05
回 yanwuyue 的帖子
yanwuyue:google上不停的搜索,零零散散的资料,
终于还是让我解决了
pro里面加编译参数:
QMAKE_CXXFLAGS += /clr
win* {
....... (2016-07-05 14:02) 

开启了clr不能断点调试吗?  我打断点提示出现异常
快速回复
限100 字节
 
上一个 下一个