我有一个dll,非lib,我想在程序编译时加载,有什么办法么

解决方案 »

  1.   

    只能LoadLibrary(Ex), GetProcAddress();FreeLibrary(Ex)
      

  2.   

    如果用lib的话,我还有一个lib2,怎么把一个lib2打到另一个lib1里面呢
      

  3.   

    lib2是静态库还是导出库(只有符号)?
    如果是静态库,那就直接链接到dll了
      

  4.   

    编译时获取函数信息是静态加载
    你想要的其实是动态加载dll,
    如果是动态加载dll,lib库是不需要给用户的,所以你想给客户那个lib库都可以.
      

  5.   

    编译是静态,运行是动态,编译时无法加载
    给dll和h文件就可以,不需要LIB。
    用户这样用: (抄的兔子)
    LoadLibrary(Ex), GetProcAddress();FreeLibrary(Ex)
      

  6.   

    静态加载DLL?静态加载需要连接LIB+dll的,还是显示调用吧。http://zhidao.baidu.com/question/159668398.html 
      

  7.   

    从你的问的问题可以看出 你的DLL肯定是别人封装好的 你想直接拿来用。?这种情况如果你只是用到dll中某个函数倒可以 但如果是扩展mfc的dll等 要使用到类 对象 、、 就要提供.h + lib了  因为动态连接很可能都编译不过的。推荐:
    http://soft.yesky.com/lesson/318/2166818.shtml
      

  8.   

    typedef void (*lpFun)(void);
    HINSTANCE hDll; //DLL句柄 
    hDll = LoadLibrary("SocketSet.dll");
    if (NULL==hDll)
    {
    MessageBox("DLL加载失败");
    //return;
    }
    lpFun pShowDlg = (lpFun)GetProcAddress(hDll,"ShowSocketSetDlg");
    if (NULL==pShowDlg)
    {
    MessageBox("DLL中函数寻找失败"); 
    return;
    }
    pShowDlg();
      

  9.   

    把lib1,lib2都作为静态库,然后lib1就可以包含lib2,然后lib2引入到调用的工程