首先,我想根据我的要求修改 ffplay。然后我注意到我构建的原始 ffplay 无法播放某些视频文件,但它没有向控制台写入任何消息。然后我注意到,当我在没有参数的情况下运行 ffmpeg 时,它也不会写任何使用消息。但它有效。如果我从终端运行它就像异步运行一样!终端只显示下一行。我的意思是它要求下一个命令。但是该ffmpeg
过程在任务管理器中可见,它会按照我的要求写入输出视频文件!
我创建了以下源文件。我已经修改了 Makefile。所以它构建的 exe 文件的工作方式相同。我不知道怎么可能。
#include <SDL.h>
#include "cmdutils.h"
const char program_name[] = "hello";
const int program_birth_year = 2013;
void show_help_default(const char *opt, const char *arg)
{
printf("zxcvbnm\n");
}
int main(int argc, char **argv)
{
printf("1234567890\n");
return 0;
}
之后,我使用 MinGW-w64 和 qmake创建了真正的hello world 应用程序,没有任何额外的 libs。而且它的 printf 不起作用。
我想阻止这种行为。
我想让 printf 以传统方式工作。
我如何构建 FFmpeg:
PKG_CONFIG_PATH=/home/developer/workspace/MinGW32fs/lib/pkgconfig/ \
SDL_CONFIG=/home/developer/workspace/MinGW32fs/bin/sdl-config \
./configure \
--prefix=/home/developer/workspace/MinGW32fs \
--extra-ldflags="-L/home/developer/workspace/MinGW32fs/lib" \
--extra-cflags="-I/home/developer/workspace/MinGW32fs/include" \
--arch=x86 --target-os=mingw32 --cross-prefix=i686-w64-mingw32- \
--pkg-config=pkg-config --enable-libtheora --enable-libvorbis --enable-libvpx \
--enable-outdev=sdl --enable-shared --disable-static \
--disable-doc --disable-manpages --disable-podpages
make