Hello__Jack
Hello__Jack
采纳率0%
2016-01-04 16:09 阅读 1.7k

加载DLL时,出现错误!

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

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

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

错误位置 :line 1

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2016-01-04 16:21

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

    点赞 1 评论 复制链接分享
  • John_ToStr John_ToDebug 2016-01-05 01:33

    的看看你的加载方式对不对
    #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

    点赞 评论 复制链接分享
  • oyljerry oyljerry 2016-01-05 12:14

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

    点赞 评论 复制链接分享

相关推荐