我希望在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库吗?
答案 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
)中放置构建文件夹的路径,然后单击完成。
这是索引器解析所有包含的时刻。这需要很多时间。但在那之后,一切似乎都运转正常。