设置编译路径时发生了什么?

时间:2012-11-30 14:43:17

标签: windows compiler-construction compilation path development-environment

我知道它以某种方式建立连接,以便编译器在envokes时将源代码连接到它需要的任何库。

但是在更技术层面上发生了什么,或者更好地将我需要知道的内容用于自信地编译代码。

我正在使用C ++和MinGW,并且已经开始研究Sublime Text 2的构建文件和内容(迄今为止主要在unix或Java + eclipse下学习)。但是我不明白在你的路径中添加编译器的是什么呢?

我是否需要为每个要编译的文件夹添加它?还是系统范围?我第一次真正学习这些东西,我们从未展示过如何设置开发环境甚至在其他系统上部署代码。

1 个答案:

答案 0 :(得分:1)

您可能意味着在编译器中包含路径和库路径:

  • 包含路径:编译器将查找标头的位置;和
  • 库路径:由编译器调用的链接器将查找二进制库以完成项目的构建。

如果是这种情况,请查看here以获得温和的解释。 基本上,正在发生的事情是编译器在某些位置查找操作系统和系统范围内安装的其他库定义的符号。 除了这些路径之外,您还需要告诉编译器在哪里找到您自己项目中定义的符号。

您可能还意味着与安装编译器本身或配置编辑器以使用它有关的事情。 在这种情况下,发生的事情是您需要告诉构建系统在哪里找到编译器的可执行文件。

基本上,可能发生的事情是您的编辑想知道编译器的位置,以便它可以提供有关代码的实时反馈。将编译器添加到系统路径通常(但不总是)可以解决您的问题。

更详细: C ++构建是一个相当复杂的工具链,涉及确定依赖关系,预处理,编译和链接。有一些工具可以自动化这个工具链,而这些工具又包含在Eclipse,Visual C ++或Sublime Text 2等现代IDE的功能中。您需要告诉编辑在哪里找到它用来为您提供的工具与这些服务。