【发布时间】:2015-03-03 18:46:23
【问题描述】:
HERE 是我的项目的链接。
错误在第 107 行:“context = FLAC__stream_encoder_new();”在文件中:FlacWriter.cs --> 我没有写那个文件。我从HERE得到它
所以我知道 libFLAC.dll 丢失了。所以我尝试了以下所有方法来解决这个问题:
我从rarewares.org/lossless.php#flac-dll-x64 下载了libFLAC dll 我尝试将其添加为参考,但出现此错误: “无法添加对 C:\CodeProjects\WaveConverter\WaveConverter\Libraries\libFLC_dynamic.dll' 的引用。请确保该文件可访问,并且它是有效的程序集或 COM 组件。”
我尝试了其他方法:我将 dll 文件添加到 bin/Debug,重新打开了我的项目。再次运行该项目。在线相同的错误:“ context = FLAC__stream_encoder_new();”错误:“无法加载 DLL 'LibFlac':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)”
我还尝试在我的代码中“导入”DLL,如下所示:我尝试在项目文件的第 14 行下添加以下行:“[DllImport("libFLAC.dll")]”:Worker.cs 我收到此错误:“重复的 'DLLimport' 属性”
我还从dependencywalker.com 下载了dependency-walker 不知道如何操作它,但是当它完成下载时,我点击了OPEN 图标并打开了我试图添加到项目中的libFLAC_dynamic.dll 文件。并且没有错误。我不确定如何使用这个dependencyWalker...
我还能尝试什么?如何解决此错误?
【问题讨论】:
-
这是区分大小写的问题吗?你称它为“libFLAC”,但 github 代码称它为“libFlac”。
-
我尝试将文件:FlacWriter.cs 中的第 12 行从:LibFlac 更改为 LibFLAC。没区别,还是一样的错误。
-
Windows 上的文件不区分大小写。这是一个糟糕的引导。