【发布时间】:2018-11-13 15:23:41
【问题描述】:
我正在 Qt Creator 中开发项目,我需要在编译为静态库且没有错误的类成员函数中绘制图像,但是当我尝试使用此函数时出现以下错误:
错误:未定义引用 'QImage::QImage(int, int, QImage::Format)'
错误:未定义引用 'QImage::isNull() const'
错误:对 'QImage::fill(unsigned int)' 的未定义引用
错误:未定义引用 'QImage::setPixel(int, int, unsigned int)'
错误:未定义引用 'QImage::save(QString const&, char const*, int)
错误:未定义对 'QImage::~QImage()' 的引用
错误:未定义对 'QImage::~QImage()' 的引用
所以问题是我可以将QImage 与静态构建库一起使用吗?
在 .pro 文件中我有:
模板 = 库
CONFIG += 静态库
QT += gui
已编辑:我正在使用适用于 Android 的 GCC 4.9 编译器,如果使用适用于 Windows 的 MSVC2015 进行编译,错误如下所示:
-1: 错误: LNK2019: 无法解析的外部符号“__declspec(dllimport) public: __thiscall QImage::QImage(int,int,enum QImage::Format)” (__imp_??0QImage@@QAE@HHW4Format@0@ @Z)
-1:错误:LNK2019:未解析的外部符号“__declspec(dllimport) public: virtual __thiscall QImage::~QImage(void)”(__imp_??1QImage@@UAE@XZ)
-1:错误:LNK2019:未解析的外部符号“__declspec(dllimport) public: void __thiscall QImage::setPixel(int,int,unsigned int)”(__imp_?setPixel@QImage@@QAEXHHI@Z)
等等
【问题讨论】:
-
您是否也将可执行文件与 Qt 的
guilib 静态链接? -
不,可执行文件是动态链接的。
标签: c++ qt linker qmake qimage