我正在尝试用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() {
}
}
答案 0 :(得分:5)
项目属性 - &gt;链接器 - &gt;库 - &gt;添加选项 - &gt;另一种选择:-lsndfile
答案 1 :(得分:1)
您需要链接-lsndfile库...确保包含库路径,以便从正确的位置找到库...检查/ usr / lib /以确保它存在于您的系统上,或者添加路径你的libs的正确位置......