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」を含め、すべてが正常に動作しています。

しかし、myLCD オブジェクトをインスタンス化しようとすると:

MyLCD* lcd = new MyLCD;

次の問題が発生します。

  • *main.obj:-1: エラー: LNK2019: 未解決の外部シンボル "public: __thiscall MyLCD::MyLCD(class QWidget *)" (??0MyLCD@@QAE@PAVQWidget@@@Z) が関数 _main で参照されています*

  • debug\partie2.exe:-1: エラー: LNK1120: 1 つの未解決の外部

それが何であるか考えていますか?


編集:QtCreatorを使用しています

edit 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フォルダーを削除しました。

もう一度ビルドすると、Debugフォルダーが作成され、問題は表示されませんでした。

信頼できるIDEでいつファイルシステムを処理する必要があるので、理由が何であるかはよくわかりません。

于 2013-02-08T13:47:53.680 に答える