Eclipse CDT:如何通过相对路径引用第三方包含

时间:2009-07-06 22:24:24

标签: c++ eclipse boost eclipse-cdt

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

我在工作区文件夹中添加了boost,例如/家庭/用户/工作区/ boost_1_39_0

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

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

  • 亚历

4 个答案:

答案 0 :(得分:12)

在CDT项目中添加包含文件路径(项目属性/ C / C ++通用/路径和符号)时,有3个按钮可以浏览位置:

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

如果按工作区...按钮,路径将相对于工作区/项目。如果选择“变量...”按钮,则可以合并${WorkspaceDirPath}等变量。这些变量还可以引用环境变量,如果您希望从可能位于您计算机上任何位置的项目中引用单个boost的安装,这可能很方便。

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

答案 1 :(得分:4)

我的工作大致与Michael Burr上面提到的一样:

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

$ {ProjDirPath} /../ boost_1_39_0

  • 亚历

答案 2 :(得分:2)

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

IBM Article

Eclipse Development

答案 3 :(得分:1)

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

  • 点击&#34; OK&#34; Eclipse不再展开变量如果你有 勾选&#34;是工作空间路径&#34;。
  • Eclipse找不到任何相对于工作空间的路径,除非它们实际引用工作空间中的项目。 Eclipse无法找到的任何路径都将 添加到带有-I或其他相关开关的构建命令行

因此,为了实现这一点,我必须输入${ProjDirPath}/../whatever作为非工作空间相对路径,并且该变量在编译时才会展开。