14

我是 Eclipse-CDT 的新手,第一次建立一个新项目。我试图在硬编码绝对路径的情况下引用 Boost。

我已将 boost 放入我的工作区文件夹,例如 /home/user/workspace/boost_1_39_0

然后我希望添加一个指向相对于工作区的文件夹的包含目录,但 Eclipse 不会这样做,它似乎只想指向 /home/user/workspace/[MyProjectNameHere]

有小费吗?将 Boost 复制到我的项目文件夹中似乎没有意义,因为它出现在 Eclipse 中并且 Eclipse 想要构建它(当然,我可以排除它)。

  • 亚历克斯
4

4 回答 4

13

在 CDT 项目中添加包含文件路径(Project Properties/C/C++ General/Paths and Symbols)时,有 3 个按钮可用于浏览位置:

  • 变量...
  • 工作区...
  • 文件系统...

如果您按下 Workspace... 按钮,则路径将相对于工作空间/项目。如果您选择变量... 按钮,您将可以合并变量,例如${WorkspaceDirPath}. 这些变量还可以引用环境变量,如果您希望从可能驻留在机器上任何位置的项目中引用单个安装的 boost,这可能会很方便。

如果您将变量合并到路径中,请确保选中“是工作区路径”选项 - 否则当您按“确定”时变量似乎会被评估,而不是在构建时保留要评估的变量。

于 2009-07-07T06:49:03.307 回答
5

我大致按照迈克尔·伯尔(Michael Burr)上面的建议进行了这项工作:

在 Project Properties/C/C++ General/Paths and Symbols 下,我添加了如下路径:

${ProjDirPath}/../boost_1_39_0

  • 亚历克斯
于 2009-07-08T15:09:30.887 回答
3

我正在使用 Eclipse Luna,发现接受的答案不再准确。经过一番摸索,过去几年似乎发生了一些变化(至少,这是我系统上发生的情况):

  • 如果您没有勾选“是工作空间路径”,则单击“确定”时 Eclipse 不再展开变量。
  • Eclipse 找不到任何相对于工作空间的路径,除非它们实际上引用了工作空间中的项目。Eclipse 找不到的任何路径都不会使用-I或其他相关开关添加到构建命令行

因此,为此,我必须输入${ProjDirPath}/../whatever一个非工作区相对路径,并且该变量直到编译时才展开。

于 2014-12-08T11:29:08.470 回答
2

IIRC,您应该能够右键单击项目并进入 C/C++ 常规设置。从那里您可以添加特定的包含目录供项目参考。这里有几个链接可能会有所帮助......

IBM 文章

Eclipse 开发

于 2009-07-06T22:35:41.767 回答