我正在使用Visual Studio 2013。 我已经通过包管理器控制台安装了libpng
Install-Package libpng
我想使用https://github.com/DavidEGrayson/ahrs-visualizer/blob/master/png_texture.cpp
中的函数png_texture_load()我将.h和.cpp文件复制到我的项目中。
尝试构建,但是我遇到了很多错误LNK2019:未解析的外部符号
所以我试着在这里添加libpng(libpng15.lib) 项目设置→链接器→输入→附加依赖项。
但现在我得到了
error LNK1104: cannot open file libpng15.lib
似乎无法找到它。我试图添加路径(C:\ Users \ PanStudent \ Documents \ Visual Studio 2013 \ Projects \ pa199_3DBreakout \ packages \ libpng.1.5.10.11) Linker-> General->其他图书馆指令
还是一样。我能做什么?感谢
编辑:我查看了该文件夹,并且有很多版本的libpng15.lib。动态,静态,调试,发布,x64,win32。我怎样才能找出哪一个是正确的?
答案 0 :(得分:0)
查看ItemDefinitionGroup
文件中的libpng.targets
,您会看到条件'$(PlatformToolset.ToLower())' == 'v100'
和$(PlatformToolset.ToLower().IndexOf('v110'))
。但默认情况下,Visual Studio 2013具有PlatformToolset v120
。所以libpng
只是没有为VisualStudio 2013编译。
如果libpng
是C库,那么您只需修改*.target
个文件并为v120
工具集添加条件,或者您可以手动链接库。在其他情况下,您应该使用VisualStudio 2013编译器重建libpng。
此上下文中的静态库表示具有静态C ++运行时的静态库(MT,编译器的MTd选项)。动态库是指具有动态C ++运行时(MD,MDd)的动态库。当您使用动态libpng
时,您应该将libpng.redist
中的dll文件复制到您的应用程序可执行文件中以启动您的程序。