5

我尝试像这样将ffmpeg连接到visual c++ ,但是当我输入“./configure --toolchain=msvc”时,我遇到了这个错误:

c99wrap cl 无法创建可执行文件。

如果 c99wrap cl 是交叉编译器,请使用 --enable-cross-compile 选项。仅当您知道交叉编译的含义时才这样做。

C 编译器测试失败

配置日志:

警告:找不到 pkg-config,库检测可能会失败。mktemp -u XXXXXX ./configure: line 728: mktemp: command not found WARNING: Unknown C compiler C:\c99\c99wrap cl,无法选择最佳 CFLAGS check_ld cc check_cc BEGIN /tmp/ffconf..ZHENYA.500.5884.c 1 int main(void){ 返回 0; } END /tmp/ffconf..ZHENYA.500.5884.c C:\c99\c99wrap cl -c -o /tmp/ffconf..ZHENYA.500.5884.o /tmp/ffconf..ZHENYA.500.5884.c 致命错误 C1510:无法加载语言资源 clui.dll。C 编译器测试失败。

有什么问题?或者只是将您编译后获得的文件发送给我(我不会问,但我修复了这两个月)

./configure --toolchain=msvc

制作

进行安装


更改后记录:

   WARNING: pkg-config not found, library detection may fail.
mktemp -u XXXXXX
Uxplas
check_ld cc
check_cc
BEGIN /tmp/ffconf.WcAVdgRZ.c
    1   int main(void){ return 0; }
END /tmp/ffconf.WcAVdgRZ.c
c99wrap cl -nologo -D_USE_MATH_DEFINES -Dinline=__inline -FIstdlib.h -Dstrtoll=_strtoi64 -c -Fo /tmp/ffconf.jQtxnkfv.o /tmp/ffconf.WcAVdgRZ.c
ffconf.WcAVdgRZ.c
ffconf.jQtxnkfv.o_converted.c
c99wrap link -o /tmp/ffconf.sPZUPuMJ.exe /tmp/ffconf.jQtxnkfv.o
link: invalid option -- o
Try `link --help' for more information.
C compiler test failed.

从第二台计算机登录:

WARNING: pkg-config not found, library detection may fail.
mktemp -u XXXXXX
./configure: line 749: mktemp: command not found
WARNING: Unknown C compiler c99wrap cl, unable to select optimal CFLAGS
check_ld cc
check_cc
BEGIN /tmp/ffconf..zhenya.500.4036.c
END /tmp/ffconf..zhenya.500.4036.c
c99wrap cl -I/local/include -c -o /tmp/ffconf..zhenya.500.4036.o /tmp/ffconf..zhenya.500.4036.c
./configure: line 749: c99wrap: command not found
C compiler test failed.

错误:

1>ConsoleApplication1.obj : error LNK2028: ёё√ыър эр эхЁрчЁх°хээє■ ыхъёхьє (0A000039) "void __cdecl av_register_all(void)" (?av_register_all@@$$FYAXXZ) т ЇєэъЎшш "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@System@@@Z)
1>ConsoleApplication1.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы "void __cdecl av_register_all(void)" (?av_register_all@@$$FYAXXZ) т ЇєэъЎшш "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@System@@@Z)
1>c:\users\Zhenya\documents\visual studio 2012\Projects\ConsoleApplication1\Debug\ConsoleApplication1.exe : fatal error LNK1120: эхЁрчЁх°хээ√ї тэх°эшї ¤ыхьхэЄют: 2
4

2 回答 2

1

错误mktemp: command not found

下载:mktemp-1.6-2

放入mktemp.exe你的msys\1.0\bin.


查看您的 ffmpeg 文件夹是否存在?

  • 整数类型.h
  • 标准字符集
  • vsyasm.targets
  • vsyasm.txt
  • vsyasm.xml
  • 复制 vsyasm.txt , vsyasm.xml , vsyasm.exe
  • yasm.txt、yasm.xml、yasm.exe

查看您的... \VisualStudio??\VC\bin 文件夹是否存在?

  • vsyasm.targets
  • vsyasm.txt
  • vsyasm.xml
  • vsyasm.exe
  • 复制 vsyasm.txt , vsyasm.xml , vsyasm.exe
  • yasm.txt、yasm.xml、yasm.exe

所以你有 vsyasm 和 yasm !


如果在你config.log的最后一行是这样的c99wrap cl ... bad file number

你应该下载另一个c99-to-c89

从这里得到它

搜索以前安装的文件并删除它们。

c99wrap.exe
c99conv.exe
makedef

将新文件复制到 Visual Studio bin 文件夹。

现在./configure --toolchain=msvc应该可以正常运行了。

注意:
make问题:
告诉我你做了多远。我确定你得到一个gawk : unterminated string错误。

于 2013-06-23T18:53:20.957 回答
0

要构建(c99wrap.exe 或 FFmpeg/Libav 本身),请确保您使用的不是 msys 链接器,而是 MSVS 链接器。现在,暂时将 /usr/bin/link 备份到某个地方,这样它就不会在你的 $PATH 中了。

来源https://blogs.gnome.org/rbultje/2012/09/27/microsoft-visual-studio-support-in-ffmpeg-and-libav/comment-page-1/#comment-367

于 2014-04-29T09:36:11.023 回答