pcm データを opus 形式にデコードする必要があります。そのため、opus ソースをプロジェクトに含めたいのですが、ファイルをリンクできません。ここopus-1.1.tar.gz
からソースファイルをダウンロードしました。Qt Creator で、すべてのファイルを-fileに追加しました。pro
INCLUDEPATH += \
$$PWD/opus/opus/celt \
$$PWD/opus/opus/celt/arm \
$$PWD/opus/opus/celt/tests \
$$PWD/opus/opus/celt/x86 \
$$PWD/opus/opus/silk \
$$PWD/opus/opus/silk/arm \
$$PWD/opus/opus/silk/fixed \
$$PWD/opus/opus/silk/float \
$$PWD/opus/opus/include \
$$PWD/opus/opus/win32
// and here would come an abnormous listing of all c- and h-files of opus:
SOURCES += ...
HEADERS += ...
コンパイル時に、から警告が表示されますstack_alloc.h
#if (!defined (VAR_ARRAYS) && !defined (USE_ALLOCA) && !defined (NONTHREADSAFE_PSEUDOSTACK))
#error "Opus requires one of VAR_ARRAYS, USE_ALLOCA, or NONTHREADSAFE_PSEUDOSTACK be defined to select the temporary allocation mode."
#endif
たとえば、は inでUSE_ALLOCA
定義されています。私が見たところ、ファイルは次のようにのみ含まれます。config.h
opus/win32
config.h
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
しかし、ソースに同梱されているファイルには、#define HAVE_CONFIG_H
. さらに、ファイルconfig.h
には#include "version.h"
. そのファイルもソースと共に配信されません。Opus-lib の使い方がよくわかりません。これはそれほど難しいことではありませんが、実行中の最小限の例はまったく見つかりません。
Windows 8、mingw、および c++ を使用していますが、ライブラリは c です。