I tried to build libtheoraplayer on Linux, and ran into a minor issue.
It looks like multiple equivalent libyuv sources are being built, resulting in link failures:
libtheoraplayer.a(row_gcc.cc.o): In function `RGB24ToARGBRow_SSSE3':
row_gcc.cc:(.text+0x40): multiple definition of `RGB24ToARGBRow_SSSE3'
libtheoraplayer.a(row_posix.cc.o):row_posix.cc:(.text+0x80): first defined here
libtheoraplayer.a(row_gcc.cc.o): In function `RAWToARGBRow_SSSE3':
row_gcc.cc:(.text+0xc0): multiple definition of `RAWToARGBRow_SSSE3'
libtheoraplayer.a(row_posix.cc.o):row_posix.cc:(.text+0x100): first defined here
libtheoraplayer.a(row_gcc.cc.o): In function `RGB565ToARGBRow_SSE2':
row_gcc.cc:(.text+0x140): multiple definition of `RGB565ToARGBRow_SSE2'
libtheoraplayer.a(row_posix.cc.o):row_posix.cc:(.text+0x180): first defined here
libtheoraplayer.a(row_gcc.cc.o): In function `ARGB1555ToARGBRow_SSE2':
row_gcc.cc:(.text+0x1e0): multiple definition of `ARGB1555ToARGBRow_SSE2'
I tried to build libtheoraplayer on Linux, and ran into a minor issue.
It looks like multiple equivalent libyuv sources are being built, resulting in link failures:
According to this page, the gcc.cc files are copies of the posix.cc files:
https://chromium.googlesource.com/external/libyuv/+/master%5E!/
Removing the "posix.cc" files fixes the issue.
ah, cool, thanks for the info, I'll see if I can remove it on other platforms as well!