2014-04-02 82 views
-1

全部 我想用Qt5.2.0创建ActiveX服务器。 据一些信息我有,创建一个简单的ActiveX服务器(其中出口一个对象),这足以:如何正确链接到qaxserver.def实体

  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. 有这样的主。 cpp文件

    的#include “ActiveQt可/ QAxFactory”

    的#include “myserver.h”

    QAXFACTORY_DEFAULT(MyServer的,5级的)

  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 
    

的问题是,这5名是未定义Visual Studio的连接。 如何解决问题?

的错误是:

error LNK2001: unresolved external symbol DllCanUnloadNow 

回答

0

需要在.pro文件中添加QT += axserver