2014-04-02 84 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