在Eclipse-CDT中使用相对路径引用第三方C ++组件(例如包含库)的最佳做法是什么?
感谢,
答案 0 :(得分:6)
Eclipse变量(例如$ {workspace_loc}和$ {project_loc}仅适用于 in 运行时Eclipse工作区中的内容。当你说你把它们放在文件系统的工作区下时,你是否真的将文件导入Eclipse(使用新项目;或在现有项目中创建链接文件夹)?
如果文件存在于文件系统中而不存在于Eclipse本身中,那么Eclipse将只能使用绝对路径访问它们。
BTW,CDT有自己的变量:$ {WorkspaceDirPath} $ {ProjDirPath} $ {ProjName},它扩展到特定的文件系统位置。
答案 1 :(得分:1)
我不确定CDT构建设置的路径(不在我的计算机上),但是你不能使用工作区变量吗?类似于:$ {workspace_loc} / boost_1_39_9
编辑:好的,我做了一些搜索并找到了有关这些变量的一些信息here。我想你想要的是:$ {project_loc:/ boost_1_39_0}?
答案 2 :(得分:1)
我使用Preferences-> General-> Workspace-> Linked Resources选项解决了这个问题。
基本上,您定义了一个指向工作区文件夹的变量。
然后使用添加文件夹 - >高级 - >链接到文件系统中的文件夹,将第三方文件夹添加到项目中,并使用变量...按钮使用先前创建的变量指向第三个 - 派对文件夹(使用“扩展”按钮)。
然后,您只需将文件夹添加到项目设置中的包含和库路径。
像蛋糕一样容易......:S
答案 3 :(得分:0)
只是一个想法..你试过安装boost,包括在/ usr / include和/ usr / lib /或/ lib下。然后只需在构建首选项中添加这些路径。我有类似的问题,但后来我们通过使用自定义makefile解决了它。它对我们有用,因为我们已经有了自定义构建框架,只需要对现有的makefile进行一些更改并将其复制到该项目中。