我正在尝试用c++编写一个程序来分析声音。我想使用libsndfile库。我在g++编译器选项中添加了一个选项-lsndfile。但我得到了一个错误:WavReader.cpp:18:对"sf_open"的未定义引用
如何链接库?请帮忙!
#include <cstdlib>
#include "WavReader.h"
#include <sndfile.h>
#include <iostream>
namespace SA {
WavReader::WavReader(char* fileName, SoundProcessor* soundProcessor) {
this->fileName = fileName;
this->soundProcessor = soundProcessor;
}
void WavReader::readFile() {
SNDFILE* sf = NULL;
SF_INFO info;
info.format = 0;
sf = sf_open(this->fileName, SFM_READ, &info);
}
WavReader::~WavReader() {
}
}
项目属性->链接器->库->添加选项->另一个选项:-lsndfile
您需要链接到-lsndfile库。。。确保包含库路径,以便从正确的位置找到库。。。检查/usr/lib/以确保它存在于您的系统中,或者为您的libs添加正确位置的路径。。。