如何在 Visual Studio 中使用 libpng?

How to use libpng in Visual Studio?

我正在使用 boost 通用图像库,它需要 libpng。我构建了 libpng 并获得了文件 libpng.lib、zlib.lib 和 libpngd.lib。当我尝试编译我的项目时,Visual Studio 给出了一个致命错误

fatal error LNK1120: 21 unresolved externals

带有一堆未解析的外部符号,如 _png_set_sig_bytes_png_read_row。这是怎么回事,如何解决?

来自 MSDN:

https://msdn.microsoft.com/en-us/library/ba1z7822.aspx?f=255&MSPPError=-2147217396

To add .lib files as linker input in the development environment

    Open the project's Property Pages dialog box. For details, see Setting Visual C++ Project Properties.

    Click the Linker folder.

    Click the Input property page.

    Modify the Additional Dependencies property.

你必须这样做;在 .exe 的 link 命令中明确指定 "libpng.lib"、"zlib.lib" 和 "libpngd.lib"。

所以这是来自一个头脑简单的白痴所以也许这会有所帮助....我花了一点时间才理解。基本上,您正在下载源代码。这意味着,您必须是编译源代码的人。

Windows 可以在命令提示符下编译用 C 编写的程序。您必须构建该程序,它会生成一个 .dll 或 .lib 文件。那个或那些是您 link 到 visual studio 应用程序的文件。

您将依赖项设置为头文件,通常类似于源代码根文件夹或所有这些 .h 文件所在的位置。

然后将 linker 设置为 link 到 .dll 或 .lib 文件。在 Boost C++ 的情况下,您需要 link 到 'lib' 文件夹。

我觉得你需要的是过一遍,完全掌握基础知识。这是来自 Microsoft 的 link 关于 Windows 如何从命令提示符编译 C 程序的文章: https://docs.microsoft.com/en-us/cpp/build/walkthrough-compile-a-c-program-on-the-command-line?view=vs-2019