我正在尝试在我的 vs2005 中编译 ffmpeg,但我对以下错误感到困惑:
libavcodec\x86/mathops.h(39):错误 C2143:语法错误:在“:”之前缺少“)”
它试图编译的代码是
__asm__ (
"imull %3 \n\t"
"shrdl %4, %%edx, %%eax \n\t"
:"=a"(rt), "=d"(dummy)
:"a"(a), "rm"(b), "ci"((uint8_t)shift)
);
最佳答案
该代码绝对是 gcc
风格的内联汇编程序,而不是 Microsoft 风格。
我相信它可以被替换为:
rt = ((int64_t)a * b) >> shift;
关于c++ - 在 mathops.h 中的 VS2005 汇编代码中的 ffmpeg 编译不编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17430005/