gpt4 book ai didi

c++ - undefined symbol : _sf_open (Simple audio stuff on OSX)

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:01:34 26 4
gpt4 key购买 nike

我正在尝试进入 C++ 编程,但我对这些小细节感到很吃力。现在,我正在尝试让下面的代码片段正常工作,显然它会编译,但不会链接。 (错误信息在这篇文章的底部)

我正在使用 libsndfile 打开音频文件,链接器似乎没有为它找到正确的库文件。这是在 OS X 10.5 上。

我已经从 mega-nerd.com 下载了 libsndfile,并通过常用的 configuremakesudo 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

最佳答案

您需要在库中进行链接。您的编译器命令应类似于:

g++ mystuff.cpp -lsndfile

关于c++ - undefined symbol : _sf_open (Simple audio stuff on OSX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/791636/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com