延迟加载DLL错误(找不到模块)

时间:2014-11-26 15:50:31

标签: c++ visual-studio-2010 dll

我正在使用Visual Studio 2010 Express,我有一个关于外部DLL的问题。 我正在使用DLL。

我的问题是:除非我将.dll文件放在项目文件中,否则为什么会出现错误(0xC06D007E:找不到模块)。

具体而言,我使用FFTW作为外部库(快速傅里叶变换库)。我按照过程:将.h文件添加到项目中;设置正确的链接器属性: 我在链接器属性选项卡的“常规”选项卡中添加了fftw库路径到“répertoiredebibliothèquessupplémentaires”(抱歉,它是法语!) 我在“Dépendancessuppémentaires”字段中添加了.lib文件的名称,在“entrénd”(输入)选项卡中的“ChargementdifférédesDLL”字段中添加了.dll文件的名称。

我试图在不改变dll文件位置的情况下解决问题。我没有成功。

有人有建议吗? 感谢

在粗略的翻译中,“répertoiredebibliothèquessupplémentaires”可能是“包含附加库的目录”,“Dépendancessupplémentaires”〜“其他依赖项”和“ChargementdifférédesDLL”〜“DLL延迟加载”(不确定这个一个)。

1 个答案:

答案 0 :(得分:2)

这是一个运行时问题。您讨论的所有IDE设置都与编译和链接有关。但是你的问题在运行时出现了。

DLL在运行时加载,系统使用Dynamic-Link Library Search Order查找它们。显然,您需要通过该搜索找到您的DLL。实现此目的的最简单,通常是首选的方法是将DLL放在与可执行文件相同的目录中。

相关问题