大侠help!自己用VC2005开发,怎么用已经现成的dll文件,和lib(非系统),还有应该放在什么位置。

解决方案 »

  1.   

    Lib在Project Setting的Link->Input中写进去。
    DLL需要使用LoadLibrary加载,然后使用GetProcAddress()得到函数入口并转为相应的函数指针进行调用。
    使用完毕FreeLibrary。
      

  2.   

    加入dll库提供的头文件,把lib文件也加入工程。把dll文件放在与生成的可执行文件的相同目录。
      

  3.   

    那这些lib 和dll 该放在那个位置呢?随便放还是?
      

  4.   


    那这些lib放哪?有多个有怎么写?路径什么的?新手呀多多包涵
      

  5.   

    Lib,因为是静态链接,所以你需要放到一个你的程序可以引用到的地方。
    一般就在*.VCProj(就是VC2005工程文件)相同文件夹下建立一个\LIB的目录。DLL,一般需要写配置文件,指出DLL存放路径。这样比较灵活。
    当然你直接和程序(Exe)放到同个目录下也可以,这样就不需要写配置文件。
      

  6.   

    首先要添加Lib路径,
    然后在项目里导入lib,比如#pragma comment(lib, "xxx.lib")
    接着添加dll的头文件,然后调用DLL模块
      

  7.   

    位置就是“Lib在Project Setting的Link->Input中写进去”其中位置也是项目所在的mytest/lib
    我往里面是这么写的“mjA.lib;Bnet.lib;mjC.lib
    编译出错:。。 error LNK1104: 无法打开文件“mjA.lib;Bnet.lib;mjC.lib”
      

  8.   

    在ProjectSetting的Link->General->Additional Library directories下写上.\Lib,表示增加一个链接库的存放路径为当前工程的\Lib下。
      

  9.   

    你要记住一点就是,链接时是以当前工程文件*.vcproj为起点,来找到你的Lib文件。所以不再同一目录的时候,你需要指定我上面提到的那个Additional Library Directories目录。 .\代表当前路径,..\代表上一级目录。一般写相对路径,因为你的程序可能会在不同机器上编译。
      

  10.   

    lib路径已经按你说的那样弄好了,那个“输入”-“附加依赖项”里也写上了mjA.lib;Bnet.lib;mjC.lib
    编译还是出错: error LNK1104: 无法打开文件“mjA.lib;Bnet.lib;mjC.lib”
      

  11.   

    呃,你个人分析哈原因呢?就按我说的原则来分析。以你的工程为起点,你看看能按照Additiaonal Library Directories和Input中输入项拼接起来的lib的路径能找到Lib文件不?
      

  12.   

    感谢各位朋友的帮助,尤其是“xyzhaopeng” 这个问题已经OK 了
    由于上面我问的比较乱,现在整理一下解决过程,以便后来者也能看个明白
    1、在test项目下添加了Lib  把我的.lib放在其中
    2、项目-属性-连接器-常规-附加库目录,找到刚刚那个Lib
    3、也是在上面的连接器-输入-附加依赖项输入   Lib\**.lib
                                           Lib\**.lib
    我添加的是多个.lib
    把dll 文件放到 和Lib同一个目录这样可以了,不知道我总结的对不对哈