如何解决QImage构造函数之一给我一个链接器错误,但是另一个构造函数没有吗?
| 在我的项目中,我使用QImage保存生成的图片,但是当我调用QImage image(width,height,QImage::Format_RGB32);
Visual Studio编译器给我链接器错误:
error LNK2019: unresolved external symbol \"__declspec(dllimport) public: virtual __thiscall QImage::~QImage(void)\" (__imp_??1QImage@@UAE@XZ) referenced in function \"void __cdecl lightTracer(void)\" (?lightTracer@@YAXXZ)
error LNK2019: unresolved external symbol \"__declspec(dllimport) public: __thiscall QImage::QImage(int,int,enum QImage::Format)\" (__imp_??0QImage@@QAE@HHW4Format@0@@Z) referenced in function \"void __cdecl lightTracer(void)\" (?lightTracer@@YAXXZ)
但是,如果我将上面的代码替换为:
QImage image();
我没有收到任何链接器错误,并且可以正常编译。
这怎么了:(
更新:为了确保Qt功能正常,我尝试制作一个QString:
QString s(\"hello world\");
并且这正常工作。
解决方法
QImage image();
这不会声明对象,也不会调用默认构造函数。它声明了一个名为“ 5”的函数,该函数没有任何参数,并返回一个“ 6”。
这将调用默认构造函数:
QImage image;
这也可能会给您一个链接器错误。确保您链接的是任何在其中定义的库QImage
。
,我在此链接上发现了有关此问题的提示。
我通过在Qt项目设置-> Qt模块中包含GUI库模块来解决此问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。