我正在使用msvc ++创建一个win32控制台应用程序,它将使用一个非常简单的dll。我将我的.lib和标题放入我的dll(我的dll只有一个标题)到我的控制台应用程序文件夹中。
当我运行它时,我没有得到任何编译或链接错误,但是当应用程序实际打开时,它说它无法找到dll。当我将.dll文件放入控制台应用程序的文件夹并运行时,它确实有效。我想知道为什么会发生这种情况??????
答案 0 :(得分:0)
请看这个链接:
Dynamic-Link Library Search Order
Windows有一个DLL搜索顺序。您可以通过上述链接中指定的功能进行更改。
您的导入库用于定义DLL中的函数等信息。您可以使用LoadLibrary("myDLL.dll")
函数加载没有标题的DLL。
在这种情况下,您必须使用GetProcAddress(module, "function_name")
函数来获取DLL中的函数地址。
以下是GetProcAddress()
的一些解决方案的链接: