Я пытаюсь заняться программированием на C ++, и я довольно сильно борюсь с мелочами. Прямо сейчас я пытаюсь заставить приведенный ниже фрагмент работать, и, очевидно, он скомпилируется, но не будет ссылаться. (сообщение об ошибке находится внизу этого сообщения)
Я использую libsndfile
, чтобы открывать аудиофайлы, и компоновщик, похоже, не находит соответствующие файлы библиотеки для него. Это на OS X 10.5.
Я скачал libsndfile с mega-nerd.com и установил его с помощью обычной процедуры 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