微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

QImage构造函数之一给我一个链接器错误,但是另一个构造函数没有吗?

如何解决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 举报,一经查实,本站将立刻删除。