未解析的静态Qwt构建外部链接
unresolved external linking to static Qwt build
我试图链接到Qwt的静态构建。为了创建静态构建,我修改了qwtconfig.pri
以包含
#QWT_CONFIG += QwtDll
,我删除了代码中所有的#define QWT_DLL
引用。
然而,当我链接到库时,我得到一堆未定义的引用抱怨QSvgRenderer:
15>qwt.lib(qwt_symbol.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl QSvgRenderer::QSvgRenderer(class QObject *)" (__imp_??0QSvgRenderer@@QEAA@PEAVQObject@@@Z) referenced in function "public: void __cdecl QwtSymbol::setSvgDocument(class QByteArray const &)" (?setSvgDocument@QwtSymbol@@QEAAXAEBVQByteArray@@@Z)
15>qwt.lib(qwt_symbol.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl QSvgRenderer::~QSvgRenderer(void)" (__imp_??1QSvgRenderer@@UEAA@XZ) referenced in function "public: virtual void * __cdecl QSvgRenderer::`scalar deleting destructor'(unsigned int)" (??_GQSvgRenderer@@UEAAPEAXI@Z)
15>qwt.lib(qwt_symbol.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __cdecl QSvgRenderer::isValid(void)const " (__imp_?isValid@QSvgRenderer@@QEBA_NXZ) referenced in function "void __cdecl qwtDrawSvgSymbols(class QPainter *,class QPointF const *,int,class QSvgRenderer *,class QwtSymbol const &)" (?qwtDrawSvgSymbols@@YAXPEAVQPainter@@PEBVQPointF@@HPEAVQSvgRenderer@@AEBVQwtSymbol@@@Z)
15>qwt.lib(qwt_symbol.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class QRectF __cdecl QSvgRenderer::viewBoxF(void)const " (__imp_?viewBoxF@QSvgRenderer@@QEBA?AVQRectF@@XZ) referenced in function "public: virtual class QRect __cdecl QwtSymbol::boundingRect(void)const " (?boundingRect@QwtSymbol@@UEBA?AVQRect@@XZ)
15>qwt.lib(qwt_symbol.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __cdecl QSvgRenderer::load(class QByteArray const &)" (__imp_?load@QSvgRenderer@@QEAA_NAEBVQByteArray@@@Z) referenced in function "public: void __cdecl QwtSymbol::setSvgDocument(class QByteArray const &)" (?setSvgDocument@QwtSymbol@@QEAAXAEBVQByteArray@@@Z)
15>qwt.lib(qwt_symbol.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl QSvgRenderer::render(class QPainter *,class QRectF const &)" (__imp_?render@QSvgRenderer@@QEAAXPEAVQPainter@@AEBVQRectF@@@Z) referenced in function "public: void __cdecl QwtSymbol::drawSymbol(class QPainter *,class QRectF const &)const " (?drawSymbol@QwtSymbol@@QEBAXPEAVQPainter@@AEBVQRectF@@@Z)
15>qwt.lib(qwt_symbol.obj) : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __cdecl QSvgRenderer::metaObject(void)const " (?metaObject@QSvgRenderer@@UEBAPEBUQMetaObject@@XZ)
15>qwt.lib(qwt_symbol.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl QSvgRenderer::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@QSvgRenderer@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z)
15>qwt.lib(qwt_symbol.obj) : error LNK2001: unresolved external symbol "public: virtual void * __cdecl QSvgRenderer::qt_metacast(char const *)" (?qt_metacast@QSvgRenderer@@UEAAPEAXPEBD@Z)
15>C:workspacefixQwtexecutableslinkerGUIbinReleaselinkerGUI.exe : fatal error LNK1120: 9 unresolved externals
是否有其他的东西在项目配置,我需要这样做,它可以正确地链接到QSvgRenderer
?
猜测您的Qt版本没有SVG支持-或者您忘记将其添加到项目依赖项中。如果您对SVG的东西不感兴趣,您也可以在qwtconfig中禁用它。
参见:"QWT_CONFIG += QwtSvg"
相关文章:
- 无法构建外部库依赖项
- cmake 添加外部已构建的库
- Windows7+:如何构建不需要任何额外/外部运行时库的C++ Windows 控制台应用程序?
- 从Visual Studio中的来源构建外部库
- 使用RCPP与外部C 库构建R软件包时未定义的参考
- 构建静态QT时未解决的外部
- 当您的外部SDK仅具有.dll,.lib,.h文件时,如何链接和构建项目
- 为使用boost的预开发库构建c++包装器时未解决的外部问题
- 我应该包括外部库的src代码还是从外部库构建的静态库
- 使用CMake构建open62541库作为外部库
- 错误LNK2019:未解决的外部符号-MSVC调试构建功能模板
- 访问构建树中的外部文件进行测试
- 未解析的外部符号构建 Python 模块
- node-gip解析windows构建上的外部库符号
- 如何在Xcode4上从头开始构建C++项目-链接现有和新的外部库
- 需要帮助为JNI调用构建DLL.未解析的外部引用.Borland编译器
- 在cocos2d-x中使用cmake为iOS和Android项目构建外部库
- 如何为android构建外部c++库(静态或共享)
- 使用cmake构建外部库
- 未解析的静态Qwt构建外部链接