VS初学者在这里!
我正在使用libpng库,该库是通过VS 2019中的NuGet安装的,用于C ++项目。我有一个功能loadPng
,renderer.h
可以按照手册的内容读取png 。png.h
已经包括了。代码本身没有错误。错误信息是:
LNK2019 reference to an unresolved external symbole "png_set_sig_bytes" in function ""int __cdecl loadPng(char const *,struct img_format *)" (?loadPng@@YAHPEBDPEAUimg_format@@@Z)"
用于库中的所有功能。
我该如何解决这个问题或弄乱了什么?(我想我没有正确设置库。)
请询问是否需要了解任何特定信息。
功能:
static int loadPng(const char *filename, img_format *target) {
FILE* fp;
fopen_s(&fp, filename, "rb");
if (!fp) return (ERROR);
void* tempBuffer[8] = { 0, 0, 0, 0, 0, 0, 0, 0};
fread(tempBuffer, 1, 8, fp);
if (png_sig_cmp((png_const_bytep)tempBuffer, 0, 8)) return (ERROR);
.
.
.
return 0;
}
在MSVC中,主要有两种错误类型:
C
指出其是编译器错误。LNK
,表示链接错误。通常,LNK2019
当链接器找不到库或目标文件时,会发生类似的错误。因此,这意味着您不将库包括在链接器中。
为此,请转到ProjectProperties -> Linker -> Input -> Additional Dependencies
并将库文件添加到其中。并General
在同一Linker
选项卡中转到,然后在中将路径添加到库文件(例如:“ C:\ Libs”)Additional Library Directories
。
在您也可以选择完整的文件路径(:“\利布斯\ library.lib C”如)添加Additional Dependencies
的Linker
标签。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句