【发布时间】:2016-02-05 16:39:08
【问题描述】:
我正在使用 boost 通用图像库,它需要 libpng。我构建了 libpng 并获得了文件 libpng.lib、zlib.lib 和 libpngd.lib。当我尝试编译我的项目时,Visual Studio 给出了一个致命错误
fatal error LNK1120: 21 unresolved externals
带有一堆未解析的外部符号,例如 _png_set_sig_bytes 和 _png_read_row。这是怎么回事,如何解决?
【问题讨论】:
-
首先检查您是否与库链接
-
所以你构建了 libpng 和朋友们-很好。您确定已将这些库包含到您的 .exe 项目的“链接”中吗?看这里:msdn.microsoft.com/en-us/library/669zx6zc.aspx
-
@paulsm4 我已将这些库包含在包含目录、库目录和链接器的附加库目录中。它仍然会产生错误。
-
我使用 libpng 并且没有问题。所以如果你说你做的一切都是正确的,除非我们看到你的机器,否则除了说“你做错了,你认为你做对了”之外,真的没有什么可以做的。
-
您是否在 .exe 的链接命令中明确包含“libpng.lib”、“zlib.lib”和“libpngd.lib”? PS:您没有在“包含目录”中“包含库”:(包含目录包含标题。这似乎正在工作-您正在成功编译。
标签: c++ visual-studio boost visual-studio-2015 libpng