本文介绍了从DLL调用DLL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个应用程序(.exe)调用我写的dll中的函数(让我们称之为DLL1.dll)。这反过来调用其他dll中的函数(其中一些我写的,其他我没有例如opencv)。一切都很好,但是当我运行.exe时,我收到消息
喜欢:


"程序入口点xxx @ xxx ...无法在动态中找到链接库DLL1.dll


问题是这些函数不在DLL1.dll中,它们在其他DLL中 由第一个DLL调用/链接的。所有dll都与.exe位于同一文件夹中。我正在使用visual studio 2010 pro 64bit。我在vs 2015上尝试了它并且问题不存在。


我通过简单地链接到相关链接来链接所有dll。 lib,包括标题。项目文件由CMake在每种情况下创建。


任何想法?



谢谢



Derek

解决方案

I have an application (.exe) that calls functions in a dll that I wrote (let's call this DLL1.dll). This in turn calls functions in other dlls (some of which I wrote, others I didn't e.g. opencv). Everything links fine, but when I run the .exe I get messages like:

"The procedure entry point xxx@xxx... could not be located in the dynamic link library DLL1.dll

The issue is these functions are not in DLL1.dll, they are in other DLLs  that are called/linked by the first DLL. All dlls are in the same folder as the .exe. I'm using visual studio 2010 pro 64bit. I tried it on vs 2015 and the problem doesn't exist.

I'm linking all the dlls in all cases by simply linking to the associated .lib, and including the headers. The project files are created by CMake in each case.

Any ideas?

Thanks

Derek

解决方案


这篇关于从DLL调用DLL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-24 02:57