如何在 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
我正在使用 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