在我的项目中,我使用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");
这个工作正常。
答案 0 :(得分:2)
QImage image();
这不会声明对象,也不会调用默认构造函数。它声明了一个名为image
的函数,该函数没有参数并返回QImage
。
这将调用默认构造函数:
QImage image;
这也可能会给你一个链接器错误;确保您链接到。{/ p>中定义的任何库QImage
答案 1 :(得分:1)
我在this link找到了这个问题的提示。
我通过在Qt项目设置 - > Qt模块中包含GUI库模块来修复问题。