вот мой настраиваемый класс LCD, унаследованный от QLCDNumber.
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 (класс QWidget *)" (??0MyLCD@@QAE@PAVQWidget@@@Z), на который ссылается функция _main*
debug\partie2.exe:-1: ошибка: LNK1120: 1 неразрешенный внешний файл
есть идеи, что это может быть?
изменить: я использую 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'
MyLCD
? В файлеmain.cpp
? И я полагаю, что это должно бытьnew MyLCD;
(заглавная М), верно? - person Andreas Fester   schedule 08.02.2013