我又遇到了一个问题。这次,我有一个.dll共享库,其中包含一个.qrc(QT资源)文件,问题是,当我尝试访问库中的某个资源时,它不起作用。
我尝试实现以下代码:
Q_INIT_RESOURCE(resourcefilename)
但它仍然无法工作。 (显示 "qInitResources_resourcefilename()" 未找到。)
没关系,我找到了解决方案。qInitResources_name()未找到。因此,我在共享库中创建了一个函数
int RmiLib::startResources(){
extern int qInitResources_rmi();
return qInitResources_rmi();
}
LIBRARY
EXPORTS
qInitResources_resourcefilename
QMAKE_LFLAGS += /DEF:\"$${PWD}\\export.def\"
OTHER_FILES += \
export.def
您的解决方案可以避免这个问题,因为RmiLib :: startResources包含在导出表中。
我正在使用Windows 7,MSVC 2010,Qt 5.2.0。