gpt4 book ai didi

visual-c++ - 查询 : Integrating libsndfile with Visual Studio 2010 C++. 错误 : libsndfile. dll 找不到

转载 作者:行者123 更新时间:2023-12-03 22:43:49 32 4
gpt4 key购买 nike

作为我学习 C++ 的一部分,我正在自学如何将 wav 文件读入 C++。我在网上找到了许多推荐以下库的资源:libsnfile library所以我按照下面的一些教程测试了库的基本功能,但是我无法让库使用 Visual Studio 2010 进行编译。

我在网上搜索了以下错误,但没有找到任何对我的特定错误有用的信息。我下载了 libsndfile C++ windows 安装程序,发现 here .我使用的是 32 位版本,因为我使用的是 win32 C++ 控制台版本。但是,我的 Visual Studio 是 64 位的。下载安装程序后,我执行了以下操作:

我进入了 Visual Studio。在我的项目下,我做了以下事情:

在项目属性中:1.VC++

Include >> added ...\libsnfile\include Library >> added ...\libsnfile\lib 2. C\C++ Added the following directory as additional dependencies
...\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 作为我的开发环境。

如果我犯了一个愚蠢的错误,我深表歉意,但如果有人能帮助我,我将不胜感激。如上所述,我尝试了一些 hacky 修复,但没有任何效果。

编辑:我也知道这个线程 here ,但这对我当前的问题没有任何意义,因为我没有做他们正在谈论的任何这条道路上的事情。

亲切的问候,极客欧米茄

最佳答案

我解决了这个问题。我认为对于 future 的读者来说,这是一个非常普遍的问题。我将 .dll 放在我的 Visual Studio 项目的调试文件夹中。否则 Visual Studio 看不到 .dll 文件。在此之后,程序按预期启动并运行。如果这不能为您解决问题,那么我建议可能会发生其他事情。

关于visual-c++ - 查询 : Integrating libsndfile with Visual Studio 2010 C++. 错误 : libsndfile. dll 找不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13104714/

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