我如何学习包含和链接到库?

时间:2013-07-22 18:14:20

标签: c++ compiler-construction linker libraries

我正在尝试自学C ++编程。 C ++很容易。一些耐心和良好的参考资料有很长的路要走。包含和链接库是困难的部分。提供的说明通常假设一些我没有的知识,并且不知道如何在没有痛苦地缓慢试错的情况下进行获取。

最新的具体示例是http://cpp-netlib.org/

我花了整整一个下午试图让它工作,我仍然不知道为什么它不起作用。

我如何从头开始学习这项技能?

在学习如何做到这一点时遇到如此巨大的困难是否正常?

1 个答案:

答案 0 :(得分:1)

嗯,对于任何C ++编译器来说,原则几乎总是相同的(提到的选项标志非常标准,但对于特定的编译器可能会有所不同):

  1. 安装要在系统中使用的库(这可能包括使用您的特定编译器工具链编译此库的步骤)。
  2. 使用-I选项
  3. 设置要用于此库的包含路径
  4. 在代码中使用库API的标题(#include <libheader.h>
  5. 使用-L选项设置要用于此库的库路径,告诉链接器使用-l<extra>链接哪些库,其中extra应引用名为lib<extra>.a的文件或lib<extra>.lib
  6. 注意事项:

    1. 第三方库可能依赖于您还需要安装的其他库(使用与目标使用相同的工具链进行编译)。
    2. 在使用MS Visual Studio(Express)工具链的Windows上,您需要注意选择符合“线程模型”和一般“调试”/“非调试”库版本的正确库版本。
    3. (适当且有用的)IDE通常允许您在项目设置中选择工具链(MinGW GCC,MS VS编译器,LLVM等),并提供一些属性对话框来设置这些选项。
      为您正在使用的工具链,第三方库,IDE和操作系统设置什么是有点不同的学习曲线,具体取决于您想要使用的内容。