我可以在将项目编译为静态库(未定义的引用)时在代码中使用 QImage 吗?
Can I use QImage in my code while I'm compiling my project as static lib (undefined reference)?
我正在Qt Creator中开发项目,我需要在编译为静态lib的类成员函数中绘制图像,没有错误,但是当我尝试使用此函数时,我收到以下错误:
错误:未定义对"QImage::QImage(int, int, QImage::Format("的引用
错误:未定义对"QImage::isNull(( const"的引用
错误:未定义对"QImage::fill(unsigned int("的引用
错误:未定义对"QImage::setPixel(int, int, unsigned int("的引用
error: 未定义对 'QImage::save(QString const&, char const*, int( 的引用
错误:未定义对"QImage::~QImage(("的引用
错误:未定义对"QImage::~QImage(("的引用
所以问题是我可以将QImage
与静态构建库一起使用吗?
在 .pro 文件中,我有:
模板 = 库
配置 += 静态库
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(公共:虚拟__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。它只是对象文件的集合。这个静态库绑定到的可执行文件必须链接到Qt - 并且在你的情况下,Qt必须是静态构建。
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 代码在main()中运行,但在函数中出现错误
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 编译包含字符串的代码时遇到问题
- 我在c++代码中生成了一个运行时#3异常
- 如何在linux终端中同时编译和运行c++代码
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 在Linux for Windows上编译C++代码时出错
- 我的字符计数代码计算错误.为什么
- 孤立代码块在结构中引发异常
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 此代码是否违反一个定义规则
- 为什么我的代码在输出中增加了93天
- 我的简单if-else语句是如何无法访问的代码
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 为什么在这个代码结束循环中没有得到结束
- 在c代码之间共享数据的最佳方式
- 我可以在将项目编译为静态库(未定义的引用)时在代码中使用 QImage 吗?