1

libyuv编译遇到'asm'中未知寄存器名'ymm1'的asm错误</p>

我尝试在 Ubuntu14 中编译 libyuv(似乎是最新的)。当我继续制作它时,有一些与 asm 相关的错误会停止编译过程。它报告:

make -j7 V=1 -f linux.mk
g++ -c -O2 -fomit-frame-pointer -Iinclude/ source/row_posix.cc -o source/row_posix.o
g++ -c -O2 -fomit-frame-pointer -Iinclude/ source/scale_mips.cc -o source/scale_mips.o
g++ -c -O2 -fomit-frame-pointer -Iinclude/ source/scale_posix.cc -o source/scale_posix.o
g++ -c -O2 -fomit-frame-pointer -Iinclude/ source/video_common.cc -o source/video_common.o
source/row_posix.cc: In function ‘void libyuv::CopyRow_AVX(const uint8*, uint8*, int)’:
source/row_posix.cc:3290:4: error: unknown register name ‘ymm1’ in ‘asm’
   );
    ^
source/row_posix.cc:3290:4: error: unknown register name ‘ymm0’ in ‘asm’
make: *** [source/row_posix.o] 错误 1

怎么了?

4

1 回答 1

1

看起来你没有做任何事情来传递-mavx给编译器。ymm*是 AVX-256 寄存器。

于 2014-10-05T03:15:49.423 回答