我正在尝试使用 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 -> Import -> C/C++ -> 作为 Makefile 项目的现有代码。
我的问题是:在那之后,应用程序运行正常,但 Eclipse 代码编辑器将所有包含标记为 Unresolved inclusion
几乎每一个功能都是Unresolved symbol
.奇怪的是,它也用 #include <iostream>
做.我想通了,这是索引器的问题。因此,我添加了 /usr/include/c++/4.8
和 /usr/include/pcl-1.7
在 Project properties -> C/C++ general -> Paths and symbols Includes 选项卡和 GCC C++ 语言。
它似乎已经解决了一些问题,但仍有一些功能被标记为红色(见屏幕截图)。
有人知道怎么解决这个问题吗?
最佳答案
我解决了我的问题。
看来,在这种情况下,将 Eclipse CDT 与 CMake 结合使用的典型工作流程会使索引器无法正常工作。
我所做的是,在调用 cmake
命令后,导入的项目不是 Makefile 项目,而是 Import -> 常规 -> 将现有项目放入工作区。
以这种方式导入项目后,索引器会花费很多时间(我想如果项目足够大,它可以压垮 Eclipse)来解析所有包含。但之后一切正常。
关于c++ - Eclipse 索引器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25463765/