如何正确链接到qaxserver.def实体

时间:2014-04-02 10:41:35

标签: qt activex activeqt

所有 我正在尝试使用Qt5.2.0创建ActiveX服务器。 根据我的一些信息,创建一个简单的ActiveX服务器(导出一个对象)就足够了:

  1. 有这样的.pro文件

    TEMPLATE = lib
    CONFIG  += dll axserver
    TARGET = simpleServer
    
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
                                      QT += core
    RC_FILE = qaxserver.rc
    DEF_FILE = qaxserver.def
    
    HEADERS += myserver.h
    
    SOURCES += main.cpp
    SOURCES += myserver.cpp
    
  2. 有这样的main.cpp文件

    #include“ActiveQt / QAxFactory”

    #include“myserver.h”

    QAXFACTORY_DEFAULT(MyServer,5个id)

  3. 该类应继承QWidgetQAxBindable

  4. 应该有文件qaxserver.rc。就我而言,它的内容是1 TYPELIB "simpleServer.pro"

  5. 应该有qaxserver.def个默认内容:

    ; mfc_test.def : Declares the module parameters.
    
    EXPORTS
    
    DllCanUnloadNow      PRIVATE
    
    DllGetClassObject    PRIVATE
    
    DllRegisterServer    PRIVATE
    
    DllUnregisterServer  PRIVATE
    
    DumpIDL              PRIVATE
    
  6. 问题是Visual Studio的链接器未定义这5个名称。 如何解决问题?

    错误是:

    error LNK2001: unresolved external symbol DllCanUnloadNow
    

1 个答案:

答案 0 :(得分:0)

需要在QT += axserver文件

中添加.pro