我正在尝试使用 Qt5.2.0 创建 ActiveX 服务器。根据我掌握的一些信息,要创建一个简单的 ActiveX 服务器(导出一个对象)就足够了:
有这样的 .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
有这样的 main.cpp 文件
#include "ActiveQt/QAxFactory"
#include “myserver.h”
QAXFACTORY_DEFAULT(MyServer, 5 id's )
类应该继承
QWidget
和QAxBindable
应该有文件
qaxserver.rc
。就我而言,它的内容是1 TYPELIB "simpleServer.pro"
应该
qaxserver.def
有默认内容的 fie:; 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