在Linux中编译x264时出错

问题描述

| 大家好 我正在尝试在Linux(x64)下编译x264。但这总是让我出错。我已经四处搜寻,但一无所获。这是命令行历史记录: spin @ around:〜/ x264 $ git clone git://git.videolan.org/x264.git 克隆到x264 ... remote:计数对象:13539,已完成。 remote:压缩对象:100%(4416/4416),已完成。 远程:总计13539(增量11005),已重用11225(增量9082) 接收物体:100%(13539/13539),3.29 MiB |已完成2.79 MiB / s。 解析增量:100%(11005/11005),已完成。 spin @ around:〜/ x264 / x264 $ ./配置 找不到汇编器 最低版本是yasm-0.7.0 如果您确实要在没有asm的情况下进行编译,请使用--disable-asm进行配置。 spin @ around:〜/ x264 / x264 $ ./configure --disable-asm 平台:X86_64 系统:LINUX ASM:不 avs:否 lavf:不 ffms:否 gpac:否 gpl:是的 线程:posix 过滤器:裁剪select_every 调试:否 gprof:否 PIC:否 分享:否 可视化:否 位深:8 您现在可以运行\'make \'或\'make fprofiled \'。 spin @ around:〜/ x264 / x264 $ make gcc-阴影-O3-快速数学-Wall -I。 -std = gnu99 -s -fomit-frame-pointer -fno-tree-vectorize -c -o x264.o x264.c 在common / common.h:864包含的文件中,                  来自x264.c:33: common / rectangle.h:在函数āx264_macroblock_cache_rect中: common / rectangle.h:84:错误:未声明āv4siā(此功能首次使用) common / rectangle.h:84:错误:(每个未声明的标识符仅报告一次 common / rectangle.h:84:错误:出现在每个函数中。) common / rectangle.h:84:错误:预期ā;ā在āv16ā之前 common / rectangle.h:86:错误:未声明ā__m128ā(此函数中的首次使用) common / rectangle.h:86:错误:预期ā;ā在āv16ā之前 common / rectangle.h:87:错误:预期ā;ā在āv16ā之前 common / rectangle.h:89:错误:预期ā;ā在v16ā之前 common / rectangle.h:90:错误:预期ā;ā在āv16ā之前 make:*** [x264.o]错误1 旋转@周围:〜/ x264 / x264 $ 这是文件,从第83行到第91行: #if HAVE_VECTOREXT &&定义(__SSE__)         v4si v16 = {v,v,v,v};         M128(d + s * 0 + 0)=(__m128)v16;         M128(d + s * 1 + 0)=(__m128)v16;         if(h == 2)返回;         M128(d + s * 2 + 0)=(__m128)v16;         M128(d + s * 3 + 0)=(__m128)v16; #其他     

解决方法

“ 0”是SSE标识符,仅当“ 1”传递给gcc时才存在。报告上游错误。