将libsndfile库链接到Windows上的Code :: Blocks

时间:2016-05-06 19:04:16

标签: c++ codeblocks libsndfile

我已经从Mega-Nerd网站安装了sndfile。安装后我尝试使用此方法将其添加到代码块中:

How do I link to a library with Code::Blocks?

程序仍然没有看到库中定义的方法给我错误:

  

C:\ Users \ Blanka \ Desktop \ asdasdasd \ main.c | 13 |未定义引用`sf_open' |   ||错误:ld返回1退出状态|

我正在提供库的路径,给出编译标志并手动粘贴项目文件夹中的头文件,没有任何帮助。问题是它会从sndfile.h标题中看到其他函数/变量,例如SF_INFOSF_FORMAT_WAVE

我已成功在Ubuntu上安装库,但我现在需要在Windows上安装它。

2 个答案:

答案 0 :(得分:0)

尝试使用visual studio。 snffile windows安装程序只是放了&libffndfile-1.lib'进入dest,但coodblocks需要.a链接为mingw。

答案 1 :(得分:0)

好消息是try { val document = withContext(Dispatchers.IO) { JSoup.connect("https://example.org/document").get() } println("Received document $it") } catch (e: Exception) { Log.e("Failed to fetch the document") } SF_INFO被识别,因此这意味着正确读取了头文件。我看到您已将标头复制到您的项目中,但是此answer中详细介绍了建议的正确方法。

我确认您可以将SF_FORMAT_WAVE个文件链接到Code :: Blocks,并且我想您已经正确地做到了:

lib

我在各个论坛上看到的一个常见错误,也是我犯的一个错误,是下载了64位版本的libsndfile而不是32位版本。 Code :: Blocks通常是用mingw下载的,其中包括32位GCC编译,并且大多数新手都不知道。

因此,考虑到所有链接都正确,建议您确认编译器为32位(或64位),然后下载32位(或64位)的libsndfile版本。