本帖最后由 sd_wf2005 于 2010-06-29 17:05:18 编辑

解决方案 »

  1.   

    找不到函数的实现?
    你看看你的dll中setErrorStrings函数时候有实现
      

  2.   

    把lib加进来,你只加了头文件,没加实现的文件,
    #pragam comment(lib,"****.lib")
    或者在link里面加进去
      

  3.   

    #pragma comment(lib,"****.lib")
    写错了,不好意思
      

  4.   

    #pragma comment(lib,"****.lib")
    写错了,不好意思
      

  5.   


    我在工程的设置里面加了啊,Link->Input->Additional Dependencies
      

  6.   


    lib路径对不对啊?把它放到编译中间文件输出目录看看(就是那些.obj文件的目录).
      

  7.   


    这个lib生成的时候就和那些obj在一个目录下,我刚刚在工程里面直接把目录指到这儿怎么还不行啊,不过好像是lib没有连进来,是从这个地方设的路径Link->general->Additional Library Directories
      

  8.   

    1,你首先要确定你的lib文件有这个函数的实现;
    2,检查链接的路径问题,可以先将绝对地址写上去,如果成功,再考虑用相对地址。
      

  9.   

    如果setErrorStrings函数存在的话,直接把*.lib文件添加到工程,然后再重新编译一遍应该可以.
      

  10.   

    找不到函数的实现?
    你看看你的dll中setErrorStrings函数时候有实现
      

  11.   


    这个函数实现是有的,我原来是写在一个工程里面的,可以正常运行,后来我把一部分做成了lib,所以就在连接着lib的时候出现了问题,谢谢各位,我再试试
      

  12.   

    补充一点:我这个是lib,是一个c++的类,给外部提供了一个方法,连接这个方法的时候出错的。有人说用
    #ifdef __cplusplus
    extern "C" {
    #endif
    但是在类里面,把这个当做非法字符,本人水平菜,多指教
      

  13.   

    编译lib. 生成的lib和头文件拷贝包你要使用的工程下.包含头文件到工程,并设置依赖的lib.应该就行了.
    ps: 编译器里出现 非法字符 ,可以双击,让他定位行 .然后删除空格.最后自己敲空格.就可以去掉了. 因为你是在网页上copy的代码.把他的特殊字符也copy了.虽然他是不可见的(在网页上不显示)