UFOID / UFO-Detector

UFO Detector
http://ufoid.net/
GNU General Public License v3.0
54 stars 8 forks source link

Can't run testRecorder #64

Closed UFOID closed 7 years ago

UFOID commented 7 years ago

The issue is with the mockVideoBuffer class. In both my windows and ubuntu environment. I keep on getting a similar error.

I run the test using make check

videobuffer.o: In function VideoBuffer::capacity()': videobuffer.cpp:(.text+0x0): multiple definition ofVideoBuffer::capacity()' mockvideobuffer.o:mockvideobuffer.cpp:(.text+0x50): first defined here videobuffer.o: In function VideoBuffer::count()': videobuffer.cpp:(.text+0x10): multiple definition ofVideoBuffer::count()' mockvideobuffer.o:mockvideobuffer.cpp:(.text+0x40): first defined here videobuffer.o: In function VideoBuffer::stopWait()': videobuffer.cpp:(.text+0x20): multiple definition ofVideoBuffer::stopWait()' mockvideobuffer.o:mockvideobuffer.cpp:(.text+0x60): first defined here videobuffer.o: In function VideoBuffer::VideoBuffer(int, QObject*)': videobuffer.cpp:(.text+0x30): multiple definition ofVideoBuffer::VideoBuffer(int, QObject)' mockvideobuffer.o:mockvideobuffer.cpp:(.text+0x0): first defined here videobuffer.o: In function `VideoBuffer::VideoBuffer(int, QObject)': videobuffer.cpp:(.text+0x30): multiple definition of VideoBuffer::VideoBuffer(int, QObject*)' mockvideobuffer.o:mockvideobuffer.cpp:(.text+0x0): first defined here videobuffer.o: In functionVideoBuffer::pushFrame(BufferedVideoFrame)': videobuffer.cpp:(.text+0x110): multiple definition of `VideoBuffer::pushFrame(BufferedVideoFrame)' mockvideobuffer.o:mockvideobuffer.cpp:(.text+0x70): first defined here videobuffer.o: In function VideoBuffer::waitNextFrame()': videobuffer.cpp:(.text+0x1a0): multiple definition ofVideoBuffer::waitNextFrame()' mockvideobuffer.o:mockvideobuffer.cpp:(.text+0xa0): first defined here

hekkup commented 7 years ago

The reason is VideoBuffer class is defined twice, first in mockvideobuffer.cpp, then in videobuffer.cpp. The solution is to remove the videobuffer.cpp from the project file. It's better to use mock objects than real ones.

UFOID commented 7 years ago

Fixed in #65