我教自己如何在wav文件读入C ++作为我的学习C ++的一部分。 我发现,推荐以下图书馆的资源在线: libsnfile图书馆所以我采取了以下一些教程在测试库的基本功能,但我不能让库与Visual Studio 2010进行编译。
我已经在网上搜了以下错误,但没有找到我的特定错误有用的东西。 我下载发现libsndfile C ++ Windows安装在这里 。 我因为我使用的是Win32的C ++控制台版本使用32位版本。 然而,我的Visual Studio是64位。 我做了以下后,我下载的安装程序:
我去到Visual Studio。 在我的项目,我做了以下内容:
在项目属性:1,VC ++
包括添加>> ... \ libsnfile \包括图书馆>>加入... \ libsnfile \ LIB 2.ç\ C ++添加了以下目录作为额外的依赖
... \ libsnfile \ LIB \ libsndfile-1.lib
我这样做是为了这个第三方库添加到我的项目。 在此之后,为了测试,我跑了下面的代码:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <sndfile.h>
int _tmain(int argc, _TCHAR* argv[])
{
printf("This is a test\n");
getchar();
return 0;
}
我编码的,以确保我能在我的程序和一切编译访问sndfile.h。 问题发生时,我试图执行以下代码:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <sndfile.h>
int _tmain(int argc, _TCHAR* argv[])
{
printf("This is a test\n");
//This will be the length of the buffer used to hold samples while the program processes them.
//A SNDFILE is like FILE in a standard C library. Consequently, the sf_open_read and sf_open_write functions will return an
//SNDFILE* pointer when they successfully open the specified file.
SNDFILE* sf = NULL;
/*SF_INFO will obtain information of the file we wish to load into our program. */
SF_INFO info;
/*This is where the program will open the WAV file */
info.format = 0;
sf = sf_open("C:\Users\GeekyOmega\Desktop\gameon.wav", SFM_READ, &info);
if(sf == NULL)
{
printf("Failed to open the file.\n");
exit(-1);
}
getchar();
return 0;
}
然后我得到了一个系统错误,当我点击在Visual Studio中运行,当我尝试运行我的程序。 它说,
The program can't start because libsnfile-1.dll is missing from your computer.
Try reinstalling the program to fix this problem.`
我尝试了64位的Windows安装程序,并尝试过,但没有奏效。 任何人都明白我在做什么跑? 我运行在Windows 7上的Visual Studio 2010作为我的开发环境。
我很抱歉,如果我作出了愚蠢的错误,但我会深深体会到,如果有人可以帮助我。 我尝试了一些哈克修复,如我上面谈到的,但没有奏效。
编辑:我也知道这个线程在这里 ,但这样做没有任何意义,我目前的问题,因为我没有做任何的,他们都在谈论这条道路的东西。
温暖的问候,GeekyOmega