• 6319阅读
  • 0回复

分享:使用Qt设计ActiveX控件,但是无法生成IDL的问题 [复制链接]

上一主题 下一主题
离线blueskit
 

只看楼主 倒序阅读 楼主  发表于: 2013-01-27
关键词: QT4IDLActiveX


分享一个解决用Qt实现ActiveX控件无法生成IDL问题的解决方法。


环境:
    VS2010+QT4.8.4+QT-Addins 1.1.11
设计目的:
    使用Qt设计一个ActiveX控件,名字叫“VideoTileAx”。


问题及解决方案:
     Vs编译完项目后,将自动调用 PostEvent中的如下脚本:

    $(QTDIR)\bin\idc.exe "$(TargetPath)" /idl "$(IntDir)VideoTileAx.idl" -version 1.0.0
    midl "$(IntDir)VideoTileAx.idl" /tlb "$(IntDir)VideoTileAx.tlb"
    $(QTDIR)\bin\idc.exe "$(TargetPath)" /tlb "$(IntDir)VideoTileAx.tlb"
    $(QTDIR)\bin\idc.exe "$(TargetPath)" /regserver
    
     在Debug版本下,上述脚步可正确运行。
     但是在Release版本下,却总是弹出类似如下错误信息:





     经过辗转反侧多日,终于解决问题,方法非常简单:


就是在项目的链接选项中,一定要生成PDB的调试文件。想来大概IDC.exe需要用PDB中的符号信息得到某些元信息。
done.


    





快速回复
限100 字节
 
上一个 下一个