如何添加Qt专用模块';什么是libs?
我正在尝试使用如何添加Qt专用模块';什么是libs?,qt,qt5,qtplugin,Qt,Qt5,Qtplugin,我正在尝试使用xmlpatterns-private。我可以通过添加qt+=xmlpatterns private来获取标题。但当我编译时,它给出了错误: 对“QpatterList::XsdSchemaResolver::~XsdSchemaResolver()”的未定义引用 因此,它假设这意味着找到了头,但lib没有安装我的Qt环境。如何在Qt中安装或添加这样的私有模块,而不是编译整个Qt源代码?我猜我会把xmlpatterns源代码拉出来编译,放到某个文件夹中。。。换句话说,如何执行专用模
xmlpatterns-private
。我可以通过添加qt+=xmlpatterns private
来获取标题。但当我编译时,它给出了错误:
对“QpatterList::XsdSchemaResolver::~XsdSchemaResolver()”的未定义引用
因此,它假设这意味着找到了头,但lib没有安装我的Qt环境。如何在Qt中安装或添加这样的私有模块,而不是编译整个Qt源代码?我猜我会把xmlpatterns
源代码拉出来编译,放到某个文件夹中。。。换句话说,如何执行专用模块的安装
我尝试的是:
qtxmlpatterns.pro
qtxmlpatterns.pro
mingw32 make install
Q\u XMLPATTERNS\u export
导出它
因此,我将整个xmlpatterns
源代码导入到我的项目中,而不是qt+=xmlpatterns private
。cpp已经是项目的一部分,为什么仍然找不到该功能
错误:未定义对“\u imp\u\u ZN12QXmlNamePoolC1Ev”的引用
整个项目:
未定义的引用
`QpatterList::XsdSchemaResolver::~XsdSchemaResolver()'
这是因为XsdSchema…
没有\uuu declspec(dllexport)
。
有许多私有的Qt类是不可见的API。
因此,如果我使用as lib,则无法找到引用。
如果我用导出关键字修改所有必要的类。它假设要解决这个错误。
(未确认)
我没有使用lib,而是将整个源代码导入到项目中。
它给
错误:未定义对“\u imp\u\u ZN12QXmlNamePoolC1Ev”的引用
由于类具有\uu declspec(dllimport)
,它告诉我们在库中查找应该导入的引用。但是现在私有类实际上是源代码的一部分(当然,它是未定义的,我没有导入它)。
删除\uu declspec(dllimport)
解决它(已确认,构建成功)
未定义的引用
`QpatterList::XsdSchemaResolver::~XsdSchemaResolver()'
这是因为XsdSchema…
没有\uuu declspec(dllexport)
。
有许多私有的Qt类是不可见的API。
因此,如果我使用as lib,则无法找到引用。
如果我用导出关键字修改所有必要的类。它假设要解决这个错误。
(未确认)
我没有使用lib,而是将整个源代码导入到项目中。
它给
错误:未定义对“\u imp\u\u ZN12QXmlNamePoolC1Ev”的引用
由于类具有\uu declspec(dllimport)
,它告诉我们在库中查找应该导入的引用。但是现在私有类实际上是源代码的一部分(当然,它是未定义的,我没有导入它)。
删除\uu declspec(dllimport)
解决它(已确认,构建成功)
#ifndef Q_XMLPATTERNS_EXPORT
# ifndef QT_STATIC
# if defined(QT_BUILD_XMLPATTERNS_LIB)
# define Q_XMLPATTERNS_EXPORT Q_DECL_EXPORT
# else
# define Q_XMLPATTERNS_EXPORT Q_DECL_IMPORT
# endif
# else
# define Q_XMLPATTERNS_EXPORT
# endif
#endif
...
# ifdef Q_OS_WIN
# define Q_DECL_EXPORT __declspec(dllexport)
# define Q_DECL_IMPORT __declspec(dllimport)
...