在Eclipse中使用PCL

时间:2014-08-23 11:18:09

标签: 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_pcl/

c)在this来源创建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应用程序的评论(我使用了来自How to configure eclipse CDT for CMake的解决方案),但现在我还有进一步的问题。应用程序有效,但Eclipse代码编辑器仍然强调所有依赖于PCL的命令,并将它们标记为Field [...] could not be resolved以及包括Unresolved inclusion [...]。奇怪的是,#include <iostream> makrs也没有得到解决。我应该以某种方式包含PCL库吗?

1 个答案:

答案 0 :(得分:1)

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

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

这里必不可少的是,在创建CMakeLists.txt之后(可能为了开始更好地为所有库设置target_link_libraries - ${PCL_LIBRARIES}),必须使用(in)构建项目我的情况):

cd ~/hello_pcl/build
cmake -G "Eclipse CDT4 - Unix Makefiles" ../src

当然,如果您想要进行Debug构建,则必须指定正确的选项。

下一步是将项目添加到eclipse工作区,但不是作为Makefile项目,而是作为一般项目,即:     文件 - &gt; 导入 - &gt; 一般 - &gt; 现有项目进入工作区。 在选择根目录(在我的例子中为~/hello_pcl/build)中放置构建文件夹的路径,然后单击完成。

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