Opened 9 years ago

Closed 9 years ago

#9631 closed Bug Report - General (Fixed)

commit 72f13d4b ( Convert NuppelVideoRecorder threads to QThreads) breaks Windows build

Reported by: Lawrence Rust <lvr@…> Owned by: beirdo
Priority: minor Milestone: 0.25
Component: MythTV - General Version: Master Head
Severity: medium Keywords: Windows
Cc: Ticket locked: no

Description

commit 72f13d4b264927175ac0a20fb8e880a80750bc0 breaks the Windows build:

Creating library file: liblibmythtv-0.24.a
./moc_NuppelVideoRecorder.o:moc_NuppelVideoRecorder.cpp:(.rdata$_ZTV12NVRVbiThread[vtable for NVRVbiThread]+0x38): undefined reference to `NVRVbiThread::run()'
./moc_NuppelVideoRecorder.o:moc_NuppelVideoRecorder.cpp:(.rdata$_ZTV14NVRAudioThread[vtable for NVRAudioThread]+0x38): undefined reference to `NVRAudioThread::run()'
./moc_NuppelVideoRecorder.o:moc_NuppelVideoRecorder.cpp:(.rdata$_ZTV14NVRWriteThread[vtable for NVRWriteThread]+0x38): undefined reference to `NVRWriteThread::run()'
collect2: ld returned 1 exit status

Looks like a problem with method signatures (void)

Change History (3)

comment:1 Changed 9 years ago by beirdo

Owner: set to beirdo
Status: newaccepted

Please try re-running qmake first.

comment:2 Changed 9 years ago by Lawrence Rust <lvr@…>

I have found the problem, it's related to commit 72f13d4b264927175ac0a20fb8e880a80750bc0e (Convert NuppelVideoRecorder? threads to QThreads) which added QOBJECT to classes NVRWriteThread etc. However, libmythtv.pro line 582 has:

mingw {
    DEFINES += USING_MINGW

    HEADERS += videoout_d3d.h
    SOURCES -= NuppelVideoRecorder.cpp

but NuppelVideoRecorder?.h is still included in HEADERS so it's processed by moc which now sees the QOBJECT definition and produces a moc_ body. The solution is to add

HEADERS -= NuppelVideoRecorder.h

directly following the code above.

comment:3 Changed 9 years ago by markk

Milestone: unknown0.25
Resolution: Fixed
Status: acceptedclosed

Fixed in 6a96286e97470119e1e7

Note: See TracTickets for help on using tickets.