![]() |
1
2
使用微软的编译器和工具似乎是唯一可靠的方法让这项工作。 |
![]() |
2
1
|
![]() |
3
1
你可以试试midl,widl的葡萄酒实现。看到酒了吗 wiki page 关于窗户上的建筑。 如果你想让它快速运行,得到它 wine-prgs-0.9.14-mingw.zip |
![]() |
4
1
我同意Rob的第二篇文章:使用mingw构建ActiveX对象是一件非常糟糕的事情。Mingw在ActiveX方面有一些缺陷: https://bugzilla.mozilla.org/show_bug.cgi?id=203299 还有: https://qt.gitorious.org/qt/qt/merge_requests/2710 |
![]() |
5
0
我用另一种方法解决了这个问题: 安装了QtCreator、Msys2和VS2015社区。 使用批处理脚本启动Qt Creator:
我将QtCreator推出Msys2环境,因为它提供了在我的项目中构建第三方所需的标准Unix工具。 所以在理论上这不是强制性的有Msys2为您。 请注意: 不要使用WinSDK 10.0(或更高版本),因为它在PATH变量中没有midl.exe。 这样做将创建PATH环境变量,其中Qt Creator处于最高优先级(因此您将使用Qt安装中的gcc)、Msys2 next(因此您可以使用标准Unix工具)以及MSVC和winsdk8.1(因此在构建时您将找到midl编译器)。 现在我成功地构建了dll并将它从WinSDK传递到midl,但到目前为止,我仍在尝试在系统中注册它。 |
![]() |
6
0
这是根据 https://doc.qt.io/qt-5/activeqt-server.html 安装的工具
创建COM DLL(还没有类型库)
将类型库写入DLL
其他Windows工具(例如。
在QtCreator中有一个应该调用midl的后期构建脚本。然而,这在QtCreator的MSYS2风格中不起作用。似乎它只是用MSVC作为工具为本地风味编写的。 因此,我们必须手动进行后处理,包括:
请注意,仅当类型库发生更改时(即,对导出的COM对象的类定义进行更改),才需要执行所有这些操作。如果只是重建项目,那么只需要最后一步,您可能可以在QtCreator配置中添加为手动构建步骤。 注册和运行测试
祝贺 你!现在应该可以打开提升的命令提示符并运行
注册成功后,我能够使用VS社区调用COM对象(新C++控制台项目),并且
清理类型库
进程外服务器
我能够通过VS Community调用对象,这与进程内服务器相同。 还有一些问题有待解决
|
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |