Как правильно ссылаться на сущности qaxserver.def

Все, что я пытаюсь создать сервер ActiveX с Qt5.2.0. Согласно имеющейся у меня информации, для создания простого сервера 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 идентификаторов)

  3. класс должен наследовать QWidget а также QAxBindable

  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
    

проблема в том, что эти 5 имен не определены для компоновщика Visual Studio. Как решить проблему?

ошибка:

error LNK2001: unresolved external symbol DllCanUnloadNow

1 ответ

Нужно добавить QT += axserver в .pro файл

Другие вопросы по тегам