如何在netbeans(linux)中链接库?

2022-01-23 00:00:00 g++ netbeans c++

我正在尝试用 C++ 编写一个程序来分析声音.我想使用 libsndfile 库.我在 g++ 编译器选项中添加了一个选项 -lsndfile.但我得到了错误:WavReader.cpp:18: 对 `sf_open' 的未定义引用

I'm trying to write a program in c++ to analyze sound. I want to use libsndfile library. I added an option -lsndfile to g++ compiler options. But I get the error: WavReader.cpp:18: undefined reference to `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

project properties -> linker -> libraries -> add option -> another option: -lsndfile

相关文章