0

Code::Blocks を使用していくつかのコードをテストしていますが、このコードを構築することはできません:

#include <stdio.h>
#include <stdlib.h>
#include <sndfile.h>

int main()
{
SNDFILE *sf;

sf = sf_open("file.wav",SFM_READ,&info); //error happens in this line

...

エラーは「`sf_open' への未定義の参照」です。これは sf_open だけでなく、sndfile.h のすべての関数でも発生します。

実際にここに到達するために私がしたことは次のとおりです。

  • 最初に、mega-nerd Web サイトから Windows x64 (私は Windows 10 を使用しています) 用の libsndfile をダウンロードしてインストールし、このコードを実行しようとしました...動作しませんでした。今回のエラーは "sndfile.h: no" でした。そのようなファイルまたはディレクトリ」

  • しばらくして、インストール ディレクトリ (C:\Program Files\Mega-Nerd\libsndfile\include) に移動し、ヘッダーを CodeBlocks のデフォルト ディレクトリ (C:\Program Files (x86)\CodeBlocks\MinGW\) にコピーしました。 include)、もう一度試してみたところ、最終的にヘッダーが見つかりました! しかし、現在、このエラーが発生しています...

ヘッダーを正しい方法で開いていなかったと思います。これについてはあまり経験がありません...インターネットのどこにも答えが見つかりませんでした。ここで幸運を祈ります、ありがとう!

4

1 に答える 1

1

Jeremyが述べたように、sndfile.hのインクルードとは別に、libsndfileライブラリに対してリンクする必要があります(.libまたは.aファイルである必要があります.

リンクするには、彼が提供したリンクに従ってください

于 2015-12-28T22:49:30.483 に答える