如何解决使用 libpng
VS 初学者在这里!
我将 libpng 库用于 C++ 项目,该库是通过 VS 2019 中的 NuGet 安装的。我在 loadPng
中有一个函数 renderer.h
,它沿着 manual 的线读取 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};
fread(tempBuffer,1,8,fp);
if (png_sig_cmp((png_const_bytep)tempBuffer,8)) return (ERROR);
.
.
.
return 0;
}
解决方法
在 MSVC 中,有两种主要的错误类型,
- 以
C
开头的错误表明它是一个编译器错误。 - 以
LNK
开头的错误,并指出它是一个链接错误。
当链接器找不到库或目标文件时,通常会发生 LNK2019
之类的错误。所以这意味着您没有将该库包含在您的链接器中。
为此,请转到项目 Properties -> Linker -> Input -> Additional Dependencies
并将库文件添加到其中。并转到同一 General
选项卡中的 Linker
,并在 Additional Library Directories
中添加库文件的路径(例如:“C:\Libs”)。
您可以选择将完整文件路径(例如:“C:\Libs\library.lib”)添加到 Additional Dependencies
选项卡中的 Linker
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。