我不确定这个问题是否仍然存在,但以下解决方案应该可以填充问题视图:
1) 在 CDT 中创建一个空的 C++ makefile(我们称之为solution1)
2) 从项目的上下文菜单(在项目资源管理器中)选择“导入...”
3) 在“导入”向导中选择“常规/文件系统”,单击“下一步”并选择您的源目录。不幸的是,CDT 6 不允许创建对 CDT 7 等文件的引用。相反,它会将所有源复制到工作区中项目的位置。因此,您导入的最顶层目录应该包含 Jamroot。不要忘记选中导入对话框中所有必要文件和文件夹的所有框。
作为 Import 的更优雅的替代方案,您可以在 eclipse 项目中创建一个文件夹并将其链接到包含必要 Jamfile 的源文件夹-感谢 Vanuan 的提示。
添加文件后打开项目属性并进行以下更改:
4) 确保在 Builders 页面上选择了 CDT Builder 和 Scanner Configuration Builder。对于 CDT Builder 属性,我建议选择除“自动构建期间”以外的所有选项
5) 在“C/C++ Build”页面取消选中“Use Default Build Command”并输入类似“${HOME}/boost.build/bin/bjam”的内容。在“构建位置”中,您应该将包含您想要从项目层次结构构建的必要 jamfile 的文件夹放入。例如,“${workspace_loc:/solution1/Server}”
6) 切换到“行为”选项卡并为“构建(增量)”和“清洁”选项添加必要的 bjam 参数。取消选中“在资源保存时构建(自动构建)”
7) 在“C/C++ Build/Settings/Error Parsers”中选择所有必要的解析器。其他一切都应保持默认状态。
在那之后你应该一切顺利。
如果您的源代码树中有多个项目并且您使用“导入”方法,则为每个项目创建单独的构建配置并为它们指定相应的“构建位置”值是有意义的。我使用 CDT 7,因为它允许导入对源文件夹的引用而不是创建物理副本,所以我只需在工作区中为每个目标 Jamfiles 创建一个单独的 eclipse 项目。在 CDT 6 中,如果您添加链接文件夹而不是导入源,它也可以工作。