我在用ijl的库编写一个解压缩jpeg格式图像的小程序,此库函数全部为c代码编写的很多c文件,我将他们放在另外一个子目录下,与工程文件不在一起,现在遇到的情况是,程序可以编译通过,但是链接的时候出现连接错误:
decompresstest.obj : error LNK2001: unresolved external symbol "void __cdecl jpeg_destroy_decompress(struct jpeg_decompress_struct *)" (?jpeg_destroy_decompress@@YAXPAUjpeg_decompress_struct@@@Z)
请大虾指点迷津,怎么回事啊??为什么找不到那个库里的函数,并且我看了那个库的头文件,里面确实已经声明了这些函数。

解决方案 »

  1.   

    把lib文件链接进去就可以了。
    Setting->Link->Object/library modules:
      

  2.   

    楼主6点就起来写程序啊?强加入lib就可以了,如果没有lib是.cpp,要把.cpp加入工程
      

  3.   

    没有.lib文件啊,文档说有一个makefile.cfg的文件,说是从这作为开始点,建立一个.lib文件,可是我怎么也没想明白怎么建阿。郁闷。
      

  4.   

    makefile.cfg????VC++带的nmake难道要用这么恶心的文件名?makefile就是控制那些内容需要被编译的一套工具而已,如果有makefile的话,就可以采用专门的工具来给你负责维护各个文件的问题了……
      

  5.   

    我用makefile生成了一个.lib的文件,并且添加到链接库里了,可是还是同样的毛病找不到那些函数啊??怎么回事呢,,,
      

  6.   

    要看生成的lib是否包含有对应的函数
    mak文件是否正确