2

まず、要件に応じて 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を使用して、追加の libs なしで実際のHello World アプリを作成しました。そして、その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
4

1 に答える 1

3

解決しました!

何らかの理由で、コンソール アプリを作成することを明示的に指定する必要があります。

qmake helloworld で:

CONFIG   += console

FFmpeg のconfigureスクリプトでは、これは extra-ldflagconsoleです:

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 -Wl,-subsystem,console" \
  --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
于 2013-10-27T00:10:06.490 に答える