我正在使用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延迟加载”(不确定这个一个)。
答案 0 :(得分:2)
这是一个运行时问题。您讨论的所有IDE设置都与编译和链接有关。但是你的问题在运行时出现了。
DLL在运行时加载,系统使用Dynamic-Link Library Search Order查找它们。显然,您需要通过该搜索找到您的DLL。实现此目的的最简单,通常是首选的方法是将DLL放在与可执行文件相同的目录中。