C++ 在Eclipse中使用PCL

C++ 在Eclipse中使用PCL,c++,eclipse,ubuntu,cmake,point-cloud-library,C++,Eclipse,Ubuntu,Cmake,Point Cloud Library,我希望在Ubuntu上使用PCL和Eclipse。到目前为止,我就是这么做的: a) 已安装带apt get的PCL: sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl sudo apt-get update sudo apt-get install libpcl-all b) 在eclipse中创建新项目 ~/workspace/hello\u pcl/ c) 在上面的文件夹中,从源代码创建了src/pcd_w

我希望在Ubuntu上使用PCL和Eclipse。到目前为止,我就是这么做的:

a) 已安装带apt get的PCL:

sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all
b) 在eclipse中创建新项目
~/workspace/hello\u pcl/

c) 在上面的文件夹中,从源代码创建了
src/pcd_write.cpp

d) 创建了以下CMakeLists.txt文件:

cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(hello_pcl)
find_package(PCL 1.3 REQUIRED COMPONENTS common io)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(pcd_write_test pcd_write.cpp)
target_link_libraries(pcd_write_test ${PCL_COMMON_LIBRARIES} ${PCL_IO_LIBRARIES})
e) 在项目设置中设置包含路径
/usr/include/pcl-1.7/

我的问题是:我现在应该做什么来使用Eclipse构建项目?我是否应该使用cmake制作项目:

cd ~/workspace/hello_pcl/build
cmake ../src
make
还是我应该做点别的?我对cmake还不太熟悉

我想我应该在项目设置中添加库,但在pcl页面上找不到,这些库的名称是什么

编辑:


好的,多亏了这个评论,我才能够创建并运行hello_pcl应用程序(我使用了来自的解决方案),但现在我有了进一步的问题。应用程序可以工作,但Eclipse代码编辑器仍然在所有依赖于PCL的命令下加下划线,并将它们签名为无法解析的
字段[…]以及包含
未解析的包含[…]
。奇怪的是,
#包括
makrs也未解决。我是否应该以某种方式包括PCL库?

我已经设法解决了我的问题,这就是我所做的:

基本上,从a)到d)的点是正确的(尽管我创建的项目不是在eclipse工作区文件夹中,而是在
~/
中)。现在是诀窍:看起来,当遵循将CMake与Eclipse CDT结合使用的典型工作流时,indexer的行为不正确。即使在项目属性中添加了特定的包含路径到路径和符号

这里最重要的是,在创建
CMakeLists.txt
(对于start,最好为所有库设置
target\u link\u库
${PCL\u libraries}
)之后,必须使用以下内容构建项目(在我的情况下):

当然,如果您想要调试构建,您必须指定适当的选项

下一步是将项目添加到eclipse工作区,但不是作为Makefile项目,而是作为常规项目,即: 文件->导入->常规->现有项目进入工作区。 将生成文件夹的路径放在选择根目录中(
~/hello\u pcl/build
,在我的例子中),然后单击Finish


此时,indexer解析所有包含项。这需要很多时间。但是在那之后,一切似乎都很好。

c制作兼容的makefiles和project Files在PCL网站上有一个教程,解释如何将Eclipse与PCL结合使用:
cd ~/hello_pcl/build
cmake -G "Eclipse CDT4 - Unix Makefiles" ../src