我在学习C语言,尝试使用文本编辑器和minGW编译器在Windows命令行中引入外部库,不使用任何IDE。这个库是libPNG,在这种情况下,我真的很想了解这个过程,不仅仅是针对这个库。如果有更好(更容易)的方法,请告诉我。请注意保留HTML标记。
在编译时,将源文件转换为目标文件,你的编译器必须知道外部库提供了哪些函数。
你可以声明每个使用的函数,或者在代码中包含库头文件:
#incude <library_file.h>
这还不够,你需要告诉编译器在哪里找到这个文件:
gcc
:使用-I<path_to_lib_folder>
cl
(Visual Studio编译器):使用/I<path_to_lib_folder>
在链接过程中,您将对象和库文件放在一起构建可执行文件。
您需要告诉链接器:
您可以使用-l
选项告诉链接器要使用哪些文件,例如-lfoo
会告诉它搜索libfoo.so库
注意:使用cl
,您可以在源代码中直接指定要使用的库,如#pragma comment (lib, "libfoo.lib")
您可以使用以下方式指定位置:
gcc
:使用-L<path_to_lib_folder>
link
(Visual Studio链接器):使用/LIBPATH:<path_to_lib_folder>
您还可以使用动态链接,但让我们从第一步开始。