0

这是我从 QLCDNumber 继承的自定义 LCD 类。

myLCD.h:

#ifndef MYLCD_H
#define MYLCD_H

#include <QLCDNumber>

class MyLCD : public QLCDNumber
{
    Q_OBJECT

public:
    MyLCD(QWidget* parent=0);


};


#endif // MYLCD_H

myLCD.cpp:

#include "MyLCD.h"


MyLCD::MyLCD(QWidget* parent)
    :QLCDNumber(parent)
{}

没有比这更基本的了。。

在我的main.cpp文件中,我包含“myLCD.h”并且一切正常。

但是当我尝试实例化一个 myLC​​D 对象时:

MyLCD* lcd = new MyLCD;

我遇到以下问题:

  • *main.obj:-1: error: LNK2019: unresolved external symbol "public: __thiscall MyLCD::MyLCD(class QWidget *)" (??0MyLCD@@QAE@PAVQWidget@@@Z) 在函数 _main* 中引用

  • debug\partie2.exe:-1: error: LNK1120: 1 unresolved externals

知道那可能是什么吗?


编辑:我正在使用 QtCreator

编辑 2) : 这是编译结果的输出

14:33:28: Running steps for project partie2...
14:33:28: Configuration unchanged, skipping qmake step.
14:33:28: Starting: "C:\Qt\Qt5.0.0\Tools\QtCreator\bin\jom.exe" 
    C:\Qt\Qt5.0.0\Tools\QtCreator\bin\jom.exe -f Makefile.Debug
    echo 1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ 24 /* RT_MANIFEST */ "debug\\partie2.exe.embed.manifest">debug\partie2.exe_manifest.rc
    if not exist debug\partie2.exe del debug\partie2.exe.embed.manifest>NUL 2>&1
    if exist debug\partie2.exe.embed.manifest copy /Y debug\partie2.exe.embed.manifest debug\partie2.exe_manifest.bak
    link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST /MANIFESTFILE:debug\partie2.exe.embed.manifest /OUT:debug\partie2.exe @C:\Users\val\AppData\Local\Temp\partie2.exe.10692.62.jom
main.obj : error LNK2019: unresolved external symbol "public: __thiscall MyLCD::MyLCD(class QWidget *)" (??0MyLCD@@QAE@PAVQWidget@@@Z) referenced in function _main
debug\partie2.exe : fatal error LNK1120: 1 unresolved externals
jom: H:\Fac\L3\S6\IHM\practical\Qt\TP2\sources\partie2\partie2-build-Desktop_Qt_5_0_0_MSVC2010_32bit_SDK-Debug\Makefile.Debug [debug\partie2.exe] Error 1120
jom: H:\Fac\L3\S6\IHM\practical\Qt\TP2\sources\partie2\partie2-build-Desktop_Qt_5_0_0_MSVC2010_32bit_SDK-Debug\Makefile [debug] Error 2
14:33:29: The process "C:\Qt\Qt5.0.0\Tools\QtCreator\bin\jom.exe" exited with code 2.
Error while building/deploying project partie2 (kit: Desktop Qt 5.0.0 MSVC2010 32bit (SDK))
When executing step 'Make'
4

1 回答 1

2

我回答我自己的问题,因为这个错误在逻辑上不是那么可回答的..

我终于删除了我的调试文件夹。

当我再次构建时,重新创建了Debug文件夹并且没有显示任何问题。

我真的不知道是什么原因,因为我们什么时候应该在可靠的 IDE 中处理文件系统?

于 2013-02-08T13:47:53.680 回答