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

Ale*_*ack 13 c++ eclipse boost eclipse-cdt

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

我在工作区文件夹中添加了boost,例如/ home/user/workspace/boost_1_39_0

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

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

  • 亚历克斯

Mic*_*urr 12

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

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

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

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


Ale*_*ack 5

我大致按照 Michael Burr 上面的建议进行了这项工作:

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

${ProjDirPath}/../boost_1_39_0

  • 亚历克斯