没有找到.DLL库 [英] .DLL library not-found

查看:217
本文介绍了没有找到.DLL库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只是在学习本科毕业论文...它是一个VST插件(DLL库),它们依赖于libfftw3-3.dll(FFT库)。当我的笔记本电脑(64位Win7终极)测试时,我发现了一个问题...我不能将这个VST导入任何音乐工作室...

I am just working on my bachelor thesis... It is a VST plugin (DLL library), which have dependency on libfftw3-3.dll (FFT library). When testing on my Laptop (64bit Win7 ultimate), i found a problem... I cant import this VST to any of Music Studios...

在我的电脑,我已经在VstPlugins目录中复制了VST plugin dll和libfftw3-3.dll,但是当我尝试导入这个VST时,系统告诉我找不到libfftw3-3.dll。

As on my PC, i have copied VST plugin dll and libfftw3-3.dll in the VstPlugins directory, but when i try to import this VST, system tells me that libfftw3-3.dll cannot be found.

这不是COM对象,所以我不能使用regsvr32注册...

This is not COM object, so i cant register it using regsvr32...

你能帮助我吗,我做错了什么?我如何才能得到这个工作?

Can you please help me, what i am doing wrong? And how i can get this to work?

推荐答案

VST是一个COM组件。它由客户端程序加载,底层调用是CoCreateInstance()。这里的问题是Windows只会查找与您使用的DLL的客户端程序相关的目录。你确实没有将DLL复制到EXE的目录中,也不应该。

A VST is a COM component. It is loaded by the client program , the underlying call is CoCreateInstance(). The problem here is that Windows will only look in the directories that are relevant to the client program for the DLL you use. You surely didn't copy the DLL into the directory of the EXE, nor should you.

这是COM的一个通用问题,解决它干净不容易。 Windows并行缓存是一个解决方案,但您将在完成整理之前进行毕业。您可以通过修改系统PATH环境变量来解决问题。或者绝望的移动,将DLL复制到c:\windows\system32(64位版本的Windows上的syswow64)。只是为了让你毕业,记住你。

This is a generic problem with COM, solving it cleanly isn't easy. The Windows side-by-side cache is a solution but you'll graduate before you get that sorted out. You can punt the problem by modifying the system PATH environment variable. Or the desperate move, copying the DLL to c:\windows\system32 (syswow64 on the 64-bit version of Windows). Just to get you graduated, mind you.

如果你仍然有麻烦,那么你可能会有额外的依赖关系,你不知道。 CRT dll是一个典型的dll,当您使用/ MD编译代码时,您将得到它。您可以使用SysInternals的ProcMon实用程序追踪这些依赖关系,您将看到客户端程序搜索该DLL。或DependencyWalker在配置文件模式(F9)。

If you still have trouble then you might have additional dependencies you don't know about. The CRT dll is a typical one, you'll get that when you compile your code with /MD in effect. You can chase those dependencies down with SysInternals' ProcMon utility, you'll see the client program searching for the DLL. Or DependencyWalker in Profile mode (F9).

这篇关于没有找到.DLL库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆