2

嘿,我正在尝试在 linux (x64) 下编译 x264。但它一直给我一个错误。我用谷歌搜索但什么也没找到。这是命令行历史:

spin@around:~/x264$ git clone git://git.videolan.org/x264.git
克隆到 x264...
远程:计数对象:13539,完成。
远程:压缩对象:100% (4416/4416),完成。
远程:总计 13539(增量 11005),重复使用 11225(增量 9082)
接收对象:100% (13539/13539),3.29 MiB | 2.79 MiB/s,完成。
解决增量:100% (11005/11005),完成。
spin@around:~/x264/x264$ ./configure
找不到汇编程序
最低版本是 yasm-0.7.0
如果你真的想在没有 asm 的情况下进行编译,请使用 --disable-asm 进行配置。
spin@around:~/x264/x264$ ./configure --disable-asm
平台:X86_64
系统:Linux
asm: 没有
回复:没有
拉夫:没有
实况调查团:没有
gpac:没有
gpl:是的
线程:posix
过滤器:裁剪 select_every
调试:没有
gprof:没有
图:没有
共享:没有
可视化:没有
位深:8

您现在可以运行“make”或“make fprofiled”。
spin@around:~/x264/x264$ 制作
gcc -Wshadow -O3 -ffast-math -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: error: āv4siā undeclared (第一次在这个函数中使用)
common/rectangle.h:84: error: (每个未声明的标识符只报告一次
common/rectangle.h:84:错误:对于它出现的每个函数。)
common/rectangle.h:84: 错误:预期 ā;ā 在 āv16ā 之前
common/rectangle.h:86: error: ā__m128ā undeclared (在这个函数中首次使用)
common/rectangle.h:86: 错误:预期 ā;ā 在 āv16ā 之前
common/rectangle.h:87:错误:预期 ā;ā 在 āv16ā 之前
common/rectangle.h:89: 错误:预期 ā;ā 在 āv16ā 之前
common/rectangle.h:90: 错误:预期 ā;ā before āv16ā
制作:*** [x264.o] 错误 1
spin@around:~/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;
        如果(h == 2)返回;
        M128(d+s*2+0) = (__m128)v16;
        M128(d+s*3+0) = (__m128)v16;
#别的
4

1 回答 1

1

v4si-msse是一个 SSE 标识符,仅在传递给 gcc时才存在。向上游报告错误。

于 2011-04-14T17:22:50.367 回答