如何在msys2下创建alpha_encoder.exe(webm-tools)?

时间:2016-06-13 15:41:33

标签: c++ makefile mingw-w64 webm msys2

我正在尝试编译 alpha_encoder )( webm-tools 下的The WebM Project的小实用程序)。 我之前在c:\FFcompiler下安装了 msys2 (由build_locally_with_various_option_prompts.bat下载和配置)。花了很多时间,但我设法编译 ffmpeg ,所以我决定使用它(我认为它会这样做)。这就是我到目前为止所做的事情。

首先,我在/cygdrive/c/FFcompiler/ffmpeg_local_builds/sandbox/win32/libvpx-1.4.0/third_party/下克隆了 webm-tools 。有一个Makefile所以我试图运行make

$ cd /cygdrive/c/FFcompiler/ffmpeg_local_builds/sandbox/win32/libvpx-1.4.0/third_party/
$ git clone https://chromium.googlesource.com/webm/webm-tools.git
$ cd webm-tools/alpha_encoder/
$ make

g ++ 抱怨mkvparser.hpp并不存在。命令是

g++ -c -W -Wall -O3 -g -I../../libwebm alpha_encoder.cc -o alpha_encoder.o

在搜索网页后,似乎 webm-tools 依赖于 libwebm ,并期望将其作为 webm-tools 。所以......

$ cd ../..
$ git clone https://chromium.googlesource.com/webm/libwebm.git
$ cd libwebm

现在,什么? README.libwebm告诉他们使用mingw-w64'来交叉编译libwebm for Windows首先,我必须像cmake这样运行cmake -DCMAKE_TOOLCHAIN_FILE=path/to/libwebm/build/mingw-w64_toolchain.cmake path/to/libwebm。就我而言:

cmake -DCMAKE_TOOLCHAIN_FILE=build/mingw-w64_toolchain.cmake .

cmake无法找到 i686-w64-mingw32-g ++ 。谷歌搜索后,似乎最简单的解决方法是将bin mingw-w64-i686添加到PATH

$ export PATH=/cygdrive/c/FFcompiler/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin:$PATH

在此之后,现在cmake成功完成并创建Makefile,但make停止并显示错误:

/cygdrive/c/FFcompiler/ffmpeg_local_builds/sandbox/win32/libvpx-1.4.0/third_part
y/libwebm/common/file_util.cc:44:39: error: 'tmpnam_s' was not declared in this
scope
   errno_t err = tmpnam_s(tmp_file_name);
                                       ^

我已经搜索过这个错误,但是我被卡住了。我错过了什么?

0 个答案:

没有答案