C++中如何引用第三方库?

动态链接库和静态链接库

在 C++中通常有两种链接 library:动态链接库(Dynamic Link Library,DLL)和静态链接库(Static Link Library,LIB)

  1. 动态链接库:在程序运行时通过链接器加载动态链接库,根据程序运行需要动态的链接需要的库中的数据。在 Linux 中,动态链接库通常以 .so 为扩展名(Shared Object),通常命名方式是lib.so.
  2. 静态链接库:在编译链接阶段,静态链接库中的代码会被复制到 bin 中,因此编译的 bin 中是包含了静态链接库的代码的。在 Linux 中静态链接库通常以 .a 为扩展名(archive),通常命名位 lib.a。

引用库

在使用第三方库时通常需要两个步骤:

  1. 在调用的文件中声明包含头文件,即:#include ""
  2. 在编译时链接库文件:
1
g++ main.cpp -I/path/library/include -L/path/library -lexample_lib

-I 指定引用的头文件的路径
-L 指定第三方库文件所在路径
-l 指定第三方库文件的名称