PCL 1.8.0项目的链接器错误
Linker errors with PCL 1.8.0 project
我在汇编和安装PCL 1.8.0后,我会在项目中得到一些令人困惑的链接错误。有些课程很好(我可以阅读并渲染PC(,但是一旦我实例化了其他一些,我就会遇到链接器错误。
例如。
#include <pcl/point_types.h>
#include <pcl/filters/statistical_outlier_removal.h>
int main()
{
pcl::StatisticalOutlierRemoval<pcl::PointXYZ> testObject;
}
与来自PCL库中的约700个未定义的参考链接失败。在此示例中,大多数与libpcl_search.a和libpcl_recognition.a
的相关类有关/usr/local/lib/libpcl_search.a(kdtree.cpp.o):-1: In function `pcl::search::KdTree<pcl::PointXYZ, pcl::KdTreeFLANN<pcl::PointXYZ, flann::L2_Simple<float> > >::setSortedResults(bool)':
/home/Horatio/libs/pcl-pcl-1.8.0/search/include/pcl/search/impl/kdtree.hpp:65: error: undefined reference to `pcl::KdTreeFLANN<pcl::PointXYZ, flann::L2_Simple<float> >::setSortedResults(bool)'
cmake输出消息似乎表明它正在找到弗兰恩,而且我没有任何库库的问题。我还尝试在我的Cmake中明确调用Find_package(Flann(,但没有成功。
Checking for module 'flann'
Found flann, version 1.8.4
我还构建并运行了与示例中的过滤器类相关的PCL单元测试。
我唯一可以认为可能相关的是我用共享_libs = off构建了pcl,而Cmake选择的Flann库仍然是共享对象( *.. so(,尽管安装了 *..静态库。我无法让Cmake正确识别它们。
我是否需要明确需要链接一个新项目中静态库的共享依赖关系?我认为(部分(静态链接的目的是减少共享依赖性的数量并增加可移植性?
任何特定的帮助或通常相关信息的指示将不胜感激!
我在使用pcl普通计算时解决了simialr问题,包括以下来自 pcl/<module>/impl
#include <pcl/search/impl/kdtree.hpp>
#include <pcl/kdtree/impl/kdtree_flann.hpp>
希望这会有所帮助。
相关文章:
- 静态数据成员的问题-修复链接错误会导致编译器错误
- Visual Studio mkl_link_tool.exe链接错误
- C++ 实现模板单例类时出现链接错误
- 使用类模板的方法链接错误
- MySQL C++连接器链接错误
- VS 2015 链接错误 无法构建依赖于 libcurl 的项目
- 运行 C++ 单元测试时LNK2005链接错误
- 对 CMake 中'cudaRegisterLinkedBinary'链接错误的未定义引用?
- 链接错误,包括我创建的相同头文件 - C++
- 在Embarcadero C++ Builder中生成的DLL未解决的外部链接错误
- 使用标头保护的多个定义链接错误
- 链接错误:未定义对 stdscr 和 wgetch 的引用
- 使用 Vivek 的 Vcam / 捕获源过滤器构建/链接错误
- 升压program_options中的链接错误
- 使用 g++ 预处理器进行替换会导致链接错误
- 在调试配置中编译工作正常,但发布会给出链接错误
- 相邻矩阵设置链接错误
- 包含常量变量并包含在多个文件中的标头的链接错误
- C++链接错误,我理解但无法解决
- 是什么导致macOS Mojave上的GoogleTest链接错误