私はC++プログラミングに取り掛かろうとしていますが、細部にまでかなり苦労しています。現在、私は以下のスニペットを機能させようとしています。どうやらそれはコンパイルされますが、リンクされません。(エラーメッセージはこの投稿の下部にあります)
オーディオファイルを開くために使用libsndfile
していますが、リンカーがそのファイルの現在のライブラリファイルを見つけられないようです。これはOSX10.5にあります。
私はmega-nerd.comからlibsndfileをダウンロードし、通常の、、手順を介してインストールしconfigure
まし make
たsudo make install
。他に何かする必要がありますか?
編集:懸念がある場合は、システムにmacportsをインストールしています。
これが私のコードです:
#include <iostream>
#include <string>
#include <sndfile.h>
#include "stereoSplit.h"
using namespace std;
int stereoSplit(string filename)
{
cout << filename;
SF_INFO sfinfo;
sfinfo.format = 0;
SNDFILE * soundfile;
soundfile = sf_open( filename.c_str(), SFM_READ, &sfinfo );
return 0;
}
int main (int argc, char const *argv[])
{
return stereoSplit("testStereo.wav");
}
そして、ここに完全なエラーメッセージがあります:
Undefined symbols:
"_sf_open", referenced from:
stereoSplit(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)in cc3hvkkk.o
ld: symbol(s) not found
collect2: ld returned 1 exit status