在linux下编译x264时出错

发布于 2024-11-01 08:22:56 字数 2180 浏览 2 评论 0原文

嘿大家 我正在尝试在linux(x64)下编译x264。但它一直给我一个错误。我用谷歌搜索了一下但一无所获。这是命令行历史记录:

spin@around:~/x264$ git clone git://git.videolan.org/x264.git
Cloning into x264...
remote: Counting objects: 13539, done.
remote: Compressing objects: 100% (4416/4416), done.
remote: Total 13539 (delta 11005), reused 11225 (delta 9082)
Receiving objects: 100% (13539/13539), 3.29 MiB | 2.79 MiB/s, done.
Resolving deltas: 100% (11005/11005), done.
spin@around:~/x264/x264$ ./configure
Found no assembler
Minimum version is yasm-0.7.0
If you really want to compile without asm, configure with --disable-asm.
spin@around:~/x264/x264$ ./configure --disable-asm
Platform:   X86_64
System:     LINUX
asm:        no
avs:        no
lavf:       no
ffms:       no
gpac:       no
gpl:        yes
thread:     posix
filters:    crop select_every
debug:      no
gprof:      no
PIC:        no
shared:     no
visualize:  no
bit depth:  8

You can run 'make' or 'make fprofiled' now.
spin@around:~/x264/x264$ make
gcc -Wshadow -O3 -ffast-math  -Wall -I. -std=gnu99 -s -fomit-frame-pointer -fno-tree-vectorize   -c -o x264.o x264.c
In file included from common/common.h:864,
                 from x264.c:33:
common/rectangle.h: In function āx264_macroblock_cache_rectā:
common/rectangle.h:84: error: āv4siā undeclared (first use in this function)
common/rectangle.h:84: error: (Each undeclared identifier is reported only once
common/rectangle.h:84: error: for each function it appears in.)
common/rectangle.h:84: error: expected ā;ā before āv16ā
common/rectangle.h:86: error: ā__m128ā undeclared (first use in this function)
common/rectangle.h:86: error: expected ā;ā before āv16ā
common/rectangle.h:87: error: expected ā;ā before āv16ā
common/rectangle.h:89: error: expected ā;ā before āv16ā
common/rectangle.h:90: error: expected ā;ā before āv16ā
make: *** [x264.o] Error 1
spin@around:~/x264/x264$

这是文件,从第 83 行到第 91 行:

#if HAVE_VECTOREXT && defined(__SSE__)
        v4si v16 = {v,v,v,v};

        M128( d+s*0+0 ) = (__m128)v16;
        M128( d+s*1+0 ) = (__m128)v16;
        if( h == 2 ) return;
        M128( d+s*2+0 ) = (__m128)v16;
        M128( d+s*3+0 ) = (__m128)v16;
#else

Hey all
I'm trying to compile x264 under linux (x64). But it keeps throwing me an error. I've googled around but found nothing. Here's the commandline history:

spin@around:~/x264$ git clone git://git.videolan.org/x264.git
Cloning into x264...
remote: Counting objects: 13539, done.
remote: Compressing objects: 100% (4416/4416), done.
remote: Total 13539 (delta 11005), reused 11225 (delta 9082)
Receiving objects: 100% (13539/13539), 3.29 MiB | 2.79 MiB/s, done.
Resolving deltas: 100% (11005/11005), done.
spin@around:~/x264/x264$ ./configure
Found no assembler
Minimum version is yasm-0.7.0
If you really want to compile without asm, configure with --disable-asm.
spin@around:~/x264/x264$ ./configure --disable-asm
Platform:   X86_64
System:     LINUX
asm:        no
avs:        no
lavf:       no
ffms:       no
gpac:       no
gpl:        yes
thread:     posix
filters:    crop select_every
debug:      no
gprof:      no
PIC:        no
shared:     no
visualize:  no
bit depth:  8

You can run 'make' or 'make fprofiled' now.
spin@around:~/x264/x264$ make
gcc -Wshadow -O3 -ffast-math  -Wall -I. -std=gnu99 -s -fomit-frame-pointer -fno-tree-vectorize   -c -o x264.o x264.c
In file included from common/common.h:864,
                 from x264.c:33:
common/rectangle.h: In function āx264_macroblock_cache_rectā:
common/rectangle.h:84: error: āv4siā undeclared (first use in this function)
common/rectangle.h:84: error: (Each undeclared identifier is reported only once
common/rectangle.h:84: error: for each function it appears in.)
common/rectangle.h:84: error: expected ā;ā before āv16ā
common/rectangle.h:86: error: ā__m128ā undeclared (first use in this function)
common/rectangle.h:86: error: expected ā;ā before āv16ā
common/rectangle.h:87: error: expected ā;ā before āv16ā
common/rectangle.h:89: error: expected ā;ā before āv16ā
common/rectangle.h:90: error: expected ā;ā before āv16ā
make: *** [x264.o] Error 1
spin@around:~/x264/x264$

and here is the file, from line 83 to 91:

#if HAVE_VECTOREXT && defined(__SSE__)
        v4si v16 = {v,v,v,v};

        M128( d+s*0+0 ) = (__m128)v16;
        M128( d+s*1+0 ) = (__m128)v16;
        if( h == 2 ) return;
        M128( d+s*2+0 ) = (__m128)v16;
        M128( d+s*3+0 ) = (__m128)v16;
#else

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

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

v4si is a SSE identifier, which only exists when -msse is passed to gcc. Report a bug upstream.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文