4

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.hopus/win32config.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 です。

4

1 に答える 1