在Eclipse中使用PCL
Using PCL with Eclipse
我希望在Ubuntu上与Eclipse一起使用PCL。现在,这就是我目前所做的:
a)使用apt-get: 安装PCLsudo 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
从这个源代码。
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。
这是索引器解析所有包含的时刻。这要花很多时间。但在那之后,一切似乎都很好。
- 无法在Ubuntu上将共享库与Eclipse链接
- 如何获取pcl迭代最近点(ICP)的迭代点数?
- Eclipse CDT:单个项目中有多个C++文件
- C++ 运行时链接器错误 (liblog4cpp.so.5) Eclipse
- Eclipse/Netbeans 中的处理模式行
- 如何在使用 SDL2 的 Eclipse 中构建 c++ 程序
- 使用 Eclipse CDT 进行 Cplex 配置
- 将 PCL 链接到 Cython C++ 模块
- Eclipse 没有在 Windows (C++) 中编译.exe
- PCL:当我在setConditionFunction中使用std::bind 时,没有合适的转换函数
- PCL octree std::bad_alloc c++
- 在 Eclipse 上启用 C++17 以使用 'std::byte'
- Eclipse CDT clang 工具链 - 无法从链接器选项中删除 stdlibc++,但可以添加 libc++,E
- 在 Eclipse 中添加库的工作方式是否与在 Visual Studio 中相同?
- 将编译器开关添加到 Eclipse CDT 内置编译器设置生成?
- 在 Eclipse: "error: no match for 'operator='" 中获取错误消息
- 在点云库 (PCL) 中使用自定义点类型的问题
- 在 eclipse 中,将宏重定义视为错误而不是警告
- Eclipse C++ 字符串作为函数参数
- 在Eclipse中使用PCL