加载DLL时,出现错误!

我在vs2010中写了个DLL,我又写了个C++程序调用DLL,但是我在调用时,出现如下错误:

fatal error LNK1107:invalid or orrupt file :cannot read at Ox310;

错误地址在: ***.dll 中

错误位置 :line 1

不知道原因在那,找了很久还没找到,求教?

以上所用语言只有:C++

3个回答

这根本就没有编译正确。你把两个项目的bin obj都删除,重新编译,把dll项目生成的.h .lib分别放在另一个项目的对应位置,重新编译。

的看看你的加载方式对不对
#if 0
#include
#include
#include
typedef int(*Dllfun)(int , int);
using namespace std;
int main()
{
Dllfun add;
HINSTANCE hdll = LoadLibrary("D:\项目相关\class\class\ConsoleApplication.dll");
if (hdll == NULL)
{
FreeLibrary(hdll);
}
add = (Dllfun)GetProcAddress(hdll, "add");
if (add == NULL)
{
FreeLibrary(hdll);
}

cout << add(1, 2) << endl;
FreeLibrary(hdll);
return 0;

}
#endif

dll是否是正确的文件。编译生成正确吗

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐