我用cmake创建了eclipse项目。我用qt的vtk。 Dir结构如下:
parent_dir:
source - source.h, source.cpp
build - this is where the .project resides
我用工作区目录 / path / parent 启动了日食。
我已按照中所述的说明操作 http://www.cmake.org/Wiki/Eclipse_CDT4_Generator。 一切都很好,但导航不起作用。也就是说,eclipse向我发出警告,指出 source.h 尚未编入索引。
此外,自动完成功能不适用于qt和vtk相关的类。我查看了Project | Properties,其中包含了qt和vtk。我究竟做错了什么?我真的希望在eclipse中使用我的项目进行自动完成和导航。我在ubuntu 8.04 64位上使用eclipse ganymede。
事先提前答案 0 :(得分:2)
根据Wiki,你应该在源代码树之外拥有你的构建树。
如果是,则不会创建此链接资源 构建目录是一个子目录 因为源目录 Eclipse不允许加载项目 哪些链接资源指向 到父目录。所以我们建议 不创建您的构建目录 作为孩子,但作为兄弟姐妹 源目录。
你需要做这样的事情:
mkdir /home/user/parent_dir_build
cd /home/user/parent_dir_build
cmake /home/user/parent_dir
答案 1 :(得分:2)
我花了很长时间才弄明白。 您应该确保“Build”目录确实不是项目目录的一部分,这意味着,包含“CMakeLists.txt”的最高级目录。
所以在我的情况下,我有“dir / tree / project_dir”和“dir / tree / project_dir / src”,然后我应该创建构建目录“dir / tree / build_dir”。
然后,我创建了一个创建Debug和Release项目的小脚本:
#!/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文件。