qt-activeX控件

当使用QAxServer开发dll时,实际工程编译链接过程中会涉及到以下的过程:

  1. 应用程序将会链接到qtserver.lib而不是qtmain.lib
  2. idc工具会被调用,产生IDL文件(接口描述语言的接口描述文件)
  3. 调用MIDL工具编译IDL文件到类型库
  4. 调用idc工具将类型库附到server的二进制代码中
  5. 注册dll

.net 的工具
regasm.exe / tlb / codebase“ x64 ActiveX.dll的路径”

regsvr32 path\xxx.dll 安装
regsvr32 path\xxx.dll /u 卸载

$(QTDIR)\bin\idc.exe "$(TargetPath)" /idl "$(OutDir)KVMClient.idl" -version 1.0.0
midl "$(OutDir)KVMClient.idl" /tlb "$(OutDir)KVMClient.tlb"
$(QTDIR)\bin\idc.exe "$(TargetPath)" /tlb "$(Out)KVMClient.tlb"
$(QTDIR)\bin\idc.exe "$(TargetPath)" /regserver

idc工具会被调用,产生IDL文件(接口描述语言的接口描述文件)
c:\qt\4.8.6\bin\idc.exe “D:\zhengjun\centralized control system\code\qt\Win32\Release\KVMClient.dll” /idl “Release\KVMClient.idl” -version 1.0.0

debug
$(QTDIR)\bin\idc.exe “$(TargetPath)” /idl “$(IntDir)KVMClient.idl” -version 1.0.0
midl “$(IntDir)KVMClient.idl” /tlb “$(IntDir)KVMClient.tlb”
$(QTDIR)\bin\idc.exe “$(TargetPath)” /tlb “$(IntDir)KVMClient.tlb”
$(QTDIR)\bin\idc.exe “$(TargetPath)” /regserver

c:\qt\4.8.6\bin\idc.exe “D:\zhengjun\centralized control system\code\qt\Win32\Debug\KVMClient.dll” /idl “Debug\KVMClient.idl” -version 1.0.0

midl “Debug\KVMClient.idl” /tlb “Debug\KVMClient.tlb”

c:\qt\4.8.6\bin\idc.exe “D:\zhengjun\centralized control system\code\qt\Win32\Debug\KVMClient.dll” /tlb “Debug\KVMClient.tlb”

c:\qt\4.8.6\bin\idc.exe “D:\zhengjun\centralized control system\code\qt\Win32\Debug\KVMClient.dll” /regserver