Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt,在设计器中使用COM元素_Qt_Activex - Fatal编程技术网

Qt,在设计器中使用COM元素

Qt,在设计器中使用COM元素,qt,activex,Qt,Activex,我有一个名为“IpeDisp.tlb”的第三方typelib,希望将其添加到Qt中。 我的解决方案是使用dumpcpp工具生成必要的.cpp和.h文件,并添加以下内容: TYPELIBS = "IpeDisp.tlb" isEmpty(TYPELIBS) { message("Error typelibs") } else { HEADERS = "ipedisp.h" SOURCES = "ipedisp.cpp" } 我得到了以下错误: Fehler: L

我有一个名为“IpeDisp.tlb”的第三方typelib,希望将其添加到Qt中。 我的解决方案是使用dumpcpp工具生成必要的.cpp和.h文件,并添加以下内容:

TYPELIBS  = "IpeDisp.tlb" 

isEmpty(TYPELIBS) {
    message("Error typelibs")
} else {
    HEADERS  = "ipedisp.h"
    SOURCES  = "ipedisp.cpp"
}
我得到了以下错误:

Fehler: LNK1181: cannot open input file 'release\ipedisp.obj'
你知道怎么回事吗

还有一个问题: VisualStudio允许将COM元素“添加”到设计器中,因此您可以在设计器中拖放它们。这在Qt中也是可能的吗


谢谢

你的项目没有多大意义。如果
.h
.cpp
文件已经存在,则不需要
.tlb
。如果它们不存在,那么您需要自己调用dumpcpp。即:

TEMPLATE = app
QT += axcontainer
TYPELIBS = $$system(dumpcpp IpeDisp.tlb -o IpeDisp )
SOURCES += $$PWD/IpeDisp.cpp
HEADERS += $$PWD/IpeDisp.h