cmake项目的eclipse索引器问题
我已经用cmake创建了eclipse项目。我使用vtk和qt。目录结构如下:cmake项目的eclipse索引器问题,cmake,eclipse-cdt,Cmake,Eclipse Cdt,我已经用cmake创建了eclipse项目。我使用vtk和qt。目录结构如下: parent_dir: source - source.h, source.cpp build - this is where the .project resides 我已经用workspace dir/path/parent启动了eclipse 我已按照中描述的说明进行操作 . 一切都很好,但导航不起作用。也就是说,eclipse警告我source.h尚未编制索引 此外,自动完成不适用于qt和v
parent_dir:
source - source.h, source.cpp
build - this is where the .project resides
我已经用workspace dir/path/parent启动了eclipse
我已按照中描述的说明进行操作
.
一切都很好,但导航不起作用。也就是说,eclipse警告我source.h尚未编制索引
此外,自动完成不适用于qt和vtk相关的类。我已经检查了Project | Properties,其中包括qt和vtk。我做错了什么?我真的很想让eclipse中的自动完成和导航与我的项目一起工作。我在ubuntu 8.04 64位上使用eclipse ganymede
thx提前根据Wiki,您应该将构建树放在源代码树之外 如果发生以下情况,则不会创建此链接资源 生成目录是一个子目录 源目录的错误,因为 Eclipse不允许加载项目 哪些有链接的资源指向 到父目录。所以我们建议 要创建生成目录,请执行以下操作: 作为孩子,但作为兄弟姐妹 源目录 您需要执行以下操作:
mkdir /home/user/parent_dir_build
cd /home/user/parent_dir_build
cmake /home/user/parent_dir
我花了很长时间才弄明白。 您应该确保“Build”目录实际上不是项目目录的一部分,这意味着包含“CMakeLists.txt”的最高级目录 所以在我的例子中,我有“dir/tree/project_dir”和“dir/tree/project_dir/src”,然后我应该创建构建目录“dir/tree/build_dir” 然后,我创建了一个小脚本,用于创建调试和发布项目:
#!/bin/sh
mkdir -p $1_build/Release
mkdir -p $1_build/Debug
cmake -E chdir $1_build/Release cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ../../$1
cmake -E chdir $1_build/Debug cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug ../../$1
使用参数“project_dir”从“dir/tree”调用脚本
然后,在Eclipse中,单击“文件”-->“导入”-->“常规”-->“现有项目到工作区”。
指定目录“dir/tree/$1_build”,它将自动识别这两个项目
现在,Release和Debug项目都加载到Eclipse中,您有了所有不错的选项,比如Code Assiste(代码完成)和双击错误进行快速调试
注意,您可以在Eclipse中添加一些文件过滤器,以从项目树中删除CMake文件