一、错误情形一
1>source.obj : error LNK2001: 无法解析的外部符号 _png_get_rows
1>source.obj : error LNK2001: 无法解析的外部符号 _png_read_png
1>source.obj : error LNK2001: 无法解析的外部符号 _png_set_rows
1>source.obj : error LNK2001: 无法解析的外部符号 _png_destroy_write_struct
1>source.obj : error LNK2001: 无法解析的外部符号 _png_sig_cmp
1>source.obj : error LNK2001: 无法解析的外部符号 _png_set_palette_to_rgb
1>source.obj : error LNK2001: 无法解析的外部符号 _png_create_read_struct
1>source.obj : error LNK2001: 无法解析的外部符号 _png_create_info_struct
1>source.obj : error LNK2001: 无法解析的外部符号 _png_set_sig_bytes
1>source.obj : error LNK2001: 无法解析的外部符号 _png_set_longjmp_fn
1>source.obj : error LNK2001: 无法解析的外部符号 _png_write_png
1>source.obj : error LNK2001: 无法解析的外部符号 _png_get_image_width
1>source.obj : error LNK2001: 无法解析的外部符号 _png_create_write_struct
1>source.obj : error LNK2001: 无法解析的外部符号 _png_get_bit_depth
1>source.obj : error LNK2001: 无法解析的外部符号 _png_get_image_height
1>source.obj : error LNK2001: 无法解析的外部符号 _png_init_io
1>source.obj : error LNK2001: 无法解析的外部符号 _png_set_IHDR
1>source.obj : error LNK2001: 无法解析的外部符号 _png_destroy_read_struct
1>source.obj : error LNK2001: 无法解析的外部符号 _png_get_color_type
错误原因是链接了其他库,却没有加进来!
不需要在工程->属性->预处理器->预处理器定义 中加入
DLIB_PNG_SUPPORT
DLIB_JPEG_SUPPORT(添加这两个是加的限制,只处理.png和.jpeg图片格式)
添加了就会发生这样的错误:
一、错误情形二
VS2013/2012下代码一写上去保存就报错了,下方提示无法打开源文件“stdafx.h”
如图:
百度了一下,对于VS2010有这样的方法可以解决:
在项目属性中展开C/C++,选择常规,在附加包含目录里加入“$(ProjectDir)”
大家可以看到在我的VS2013下完全没作用。
后来发现这样就成功了:
那个预编译头文件是自己就有的,我想VS2013/2012默认就包含了“stdafx.h”吧,所以不必再写一次
PS:很久前踩过的坑,今天写出来,希望遇到相同问题的小伙伴,能有所帮助;如有错误,欢迎指正