查询:使用Visual Studio 2010的C ++集成libsndfile。 错误:lib

2019-07-02 19:24发布

我教自己如何在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

Answer 1:

我固定的问题。 对于未来的读者来说,这是一个非常普遍的问题,我想。 我把该.dll在我的Visual Studio项目的调试文件夹中。 Visual Studio中无法看到.dll文件,否则。 在此之后,该计划发射了预期就跑。 如果不解决这个问题对你,那么我建议别的东西可以继续。



文章来源: Inquiry: Integrating libsndfile with Visual Studio 2010 C++. Error: libsndfile.dll not found