Eclipse索引器无法正常工作

时间:2014-08-23 15:58:56

标签: c++ eclipse ubuntu cmake point-cloud-library

我试图用eclipse设置PCL。我从未做过任何CMake的事情,所以我真的不知道发生了什么。

我已使用apt-get安装了PCL。接下来,我创建了文件夹~/hello_pcl/src,我保存了pcd_write.cpp文件并关注CMakeLists.txt

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(hello_pcl)
find_package(PCL 1.2 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable (pcd_write_exe pcd_write.cpp)
target_link_libraries (pcd_write_exe ${PCL_LIBRARIES})

接下来,我已经完成了:

cd ~/hello_pcl
mkdir build
cd build
cmake -G"Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug ../src

至于最后一个,我已经使用 File - >将已创建的项目导入到eclipse中导入 - > C / C ++ - > 现有代码为Makefile项目

我的问题是:在此之后,应用程序正常运行,但Eclipse代码编辑器将所有包含标记为Unresolved inclusion,并将几乎所有函数标记为Unresolved symbol。奇怪的是,它也与#include <iostream>一起使用。我发现,这是索引器的一个问题。因此,我在项目属性中添加了/usr/include/c++/4.8/usr/include/pcl-1.7 - &gt; C / C ++ general - &gt; 包含标签和 GCC C ++ 语言中的路径和符号。 它似乎解决了一些问题,但仍有功能,标记为红色(见截图)。

indexer_error

任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我解决了我的问题。

看来,在这种情况下,使用Eclipse CDT和CMake的典型工作流使索引器工作变得不合时宜。

我所做的是,在调用cmake命令后,导入的项目不是 Makefile项目,而是使用 Import - &gt; 一般 - &gt; 现有项目进入工作区

以这种方式导入项目后,索引器需要花费很多时间(我想它可以粉碎Eclipse,如果项目足够大)来解析所有包含。但在那之后一切正常。