如何在 windows 上包含外部 C 库

How to Include external C library on windows

我是 C 的新手,我正在尝试使用任何 IDE,仅 text-editorminGW 编译器在 windows cmd 上。在这种情况下,库是 libPNG,我真的很想了解这个过程是如何工作的 不仅是这个库

如果有更好的方法(也更简单),我也想知道。

你有两部分需要处理:

  • 编译,
  • 链接中。

编译

在编译中,当你将源文件转换为目标文件时,你的编译器必须知道外部库提供了哪些功能。

您可以声明您使用的每个函数,或者您可以在您的代码中包含库头文件:

#incude <library_file.h>

这还不够,你必须告诉你的编译器在哪里可以找到这个文件:

  • -I<path_to_lib_folder>gcc
  • /I<path_to_lib_folder>cl(visual studio 编译器)

正在链接

在链接过程中,将目标文件和库文件放在一起构造一个可执行文件。

你需要告诉链接器

  • 它必须使用哪些文件以及
  • 在哪里可以找到库文件

您通过 -l 选项告诉链接器要使用哪些文件,例如,-lfoo 将告诉它搜索 libfoo.so lib

注意:使用 cl,您可以使用 #pragma comment (lib, "libfoo.lib")

直接在源代码中指定要使用的库

添加您指定的位置:

  • -L<path_to_lib_folder>gcc
  • /LIBPATH:<path_to_lib_folder>link(visual studio 链接器)

您也可以使用动态链接,但让我们从第一步开始。