在Eclipse中使用PCL

Using PCL with Eclipse

本文关键字:PCL Eclipse      更新时间:2023-10-16

我希望在Ubuntu上与Eclipse一起使用PCL。现在,这就是我目前所做的:

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_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

或者我应该做点别的吗?我是新手。

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

编辑:

好的,由于评论,我能够创建并运行hello_pcl应用程序(我使用了如何为CMake配置eclipse CDT的解决方案),但现在我有进一步的问题。应用程序可以工作,但是Eclipse代码编辑器仍然强调所有依赖于pcl的命令,并将它们签名为Field [...] could not be resolved以及包括Unresolved inclusion [...]。奇怪的是,#include <iostream> makrs也是未解决的。我应该以某种方式包括PCL库吗?

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

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

这里最重要的是,在创建CMakeLists.txt之后(也许开始时最好为所有库设置target_link_libraries - ${PCL_LIBRARIES}),必须使用(在我的情况下):

来构建项目:
cd ~/hello_pcl/build
cmake -G "Eclipse CDT4 - Unix Makefiles" ../src

当然,如果你想要Debug构建,你必须指定适当的选项。

下一步是将项目添加到eclipse工作区,但不是作为Makefile项目,而是作为一般项目,即:File -> 导入 -> General -> 现有项目到工作区。选择根目录(在我的情况下是~/hello_pcl/build)并单击Finish。

这是索引器解析所有包含的时刻。这要花很多时间。但在那之后,一切似乎都很好。