PclSharp无法解析的外部符号

1>LINK : warning LNK4286: 符号“free”(在“libucrtd.lib(free.obj)”中定义)已由“flann_cpp_s-gd.lib(lz4.obj)”导入
1>LINK : warning LNK4286: 符号“free”(在“libucrtd.lib(free.obj)”中定义)已由“flann_cpp_s-gd.lib(lz4hc.obj)”导入
1>LINK : warning LNK4217: 符号“malloc”(在“ libucrtd.lib(malloc.obj)”中定义)已由“qhullstatic_rd.lib(usermem_r.obj)”(函数“qh_malloc”中)导入
1>LINK : warning LNK4286: 符号“malloc”(在“libucrtd.lib(malloc.obj)”中定义)已由“flann_cpp_s-gd.lib(lz4hc.obj)”导入
1>LINK : warning LNK4217: 符号“exit”(在“ libucrtd.lib(exit.obj)”中定义)已由“qhullstatic_rd.lib(usermem_r.obj)”(函数“qh_exit”中)导入
1>LINK : warning LNK4217: 符号“strtod”(在“ libucrtd.lib(strtod.obj)”中定义)已由“qhullstatic_rd.lib(random_r.obj)”(函数“qh_strtod”中)导入
1>LINK : warning LNK4217: 符号“strtol”(在“ libucrtd.lib(strtox.obj)”中定义)已由“qhullstatic_rd.lib(random_r.obj)”(函数“qh_strtol”中)导入
1>LINK : warning LNK4217: 符号“_invalid_parameter”(在“ libucrtd.lib(invalid_parameter.obj)”中定义)已由“libboost_thread-vc143-mt-gd-x64-1_80.lib(thread.obj)”(函数“"class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &&,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &&)" (??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QEAV10@0@Z)”中)导入
1>LINK : warning LNK4217: 符号“_calloc_dbg”(在“ libucrtd.lib(debug_heap.obj)”中定义)已由“libboost_thread-vc143-mt-gd-x64-1_80.lib(thread.obj)”(函数“"char * __cdecl std::_Maklocstr<char>(char const *,char *,struct _Cvtvec const &)" (??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z)”中)导入
1>LINK : warning LNK4217: 符号“_CrtDbgReport”(在“ libucrtd.lib(dbgrpt.obj)”中定义)已由“libboost_thread-vc143-mt-gd-x64-1_80.lib(thread.obj)”(函数“"class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &&,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &&)" (??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QEAV10@0@Z)”中)导入
1>LINK : warning LNK4217: 符号“wcslen”(在“ libucrtd.lib(strnlen.obj)”中定义)已由“libboost_thread-vc143-mt-gd-x64-1_80.lib(thread.obj)”(函数“"wchar_t * __cdecl std::_Maklocwcs(wchar_t const *)" (?_Maklocwcs@std@@YAPEA_WPEB_W@Z)”中)导入
1>LINK : warning LNK4217: 符号“_wassert”(在“ libucrtd.lib(assert.obj)”中定义)已由“libboost_thread-vc143-mt-gd-x64-1_80.lib(thread.obj)”(函数“"void __cdecl boost::`anonymous namespace'::create_current_thread_tls_key(void)" (?create_current_thread_tls_key@?A0x3b50fdbf@boost@@YAXXZ)”中)导入
1>qhullstatic_rd.lib(global_r.obj) : error LNK2019: 无法解析的外部符号 __imp_freopen,函数 qh_initflags 中引用了该符号
1>qhullstatic_rd.lib(global_r.obj) : error LNK2019: 无法解析的外部符号 __imp_strncat,函数 qh_initflags 中引用了该符号
1>qhullstatic_rd.lib(io_r.obj) : error LNK2001: 无法解析的外部符号 __imp_strncat
1>qhullstatic_rd.lib(global_r.obj) : error LNK2019: 无法解析的外部符号 __imp_strncpy,函数 qh_initflags 中引用了该符号
1>qhullstatic_rd.lib(io_r.obj) : error LNK2001: 无法解析的外部符号 __imp_strncpy
1>libboost_thread-vc143-mt-gd-x64-1_80.lib(thread.obj) : error LNK2001: 无法解析的外部符号 __imp_strncpy
1>qhullstatic_rd.lib(io_r.obj) : error LNK2019: 无法解析的外部符号 __imp_fgets,函数 qh_readpoints 中引用了该符号
1>qhullstatic_rd.lib(libqhull_r.obj) : error LNK2019: 无法解析的外部符号 __imp__localtime64,函数 localtime 中引用了该符号
1>qhullstatic_rd.lib(merge_r.obj) : error LNK2001: 无法解析的外部符号 __imp__localtime64
1>libboost_thread-vc143-mt-gd-x64-1_80.lib(thread.obj) : error LNK2019: 无法解析的外部符号 __imp_strerror,函数 "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl boost::system::detail::generic_error_category_message(int)" (?generic_error_category_message@detail@system@boost@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) 中引用了该符号
1>libboost_thread-vc143-mt-gd-x64-1_80.lib(thread.obj) : error LNK2019: 无法解析的外部符号 __imp__beginthreadex,函数 "private: bool __cdecl boost::thread::start_thread_noexcept(void)" (?start_thread_noexcept@thread@boost@@AEAA_NXZ) 中引用了该符号
1>F:\PclSharp-master12\..\bin\x64\Debug\PclSharp.Extern.dll : fatal error LNK1120: 7 个无法解析的外部命令
1>已完成生成项目“PclSharp.Extern.vcxproj”的操作 - 失败。
========== “全部重新生成”: 0 成功,1 失败,0已跳过 ==========

解决方法:

VC项目属性→配置属性→C/C++→代码生成→运行库,由MTd改为MDd

<think>好的,用户想了解或使用PCLSharp相关的信息,特别是库的使用和文档。首先,我需要确定PCLSharp是什么,以及它的主要功能和用途。根据我的知识库,PCLSharp是Point Cloud Library(PCL)的C#绑定,用于处理点云数据。不过,我的当前引用中没有直接提到PCLSharp的内容,可能需要依靠其他信息或外部知识来回答。 接下来,用户可能需要知道如何安装PCLSharp。通常,NuGet是C#库的主要分发平台,所以需要检查是否存在NuGet包。此外,可能需要配置项目文件,比如.csproj,添加依赖项。 然后,关于文档,PCL作为C++库,其文档可能对PCLSharp用户有帮助,但需要确认是否有专门的C#文档。可能需要参考GitHub仓库的README或Wiki页面,或者示例代码来指导使用。 用户可能还会遇到常见问题,比如环境配置、依赖项安装(如PCL的本地库),以及如何在C#中调用相关函数。需要提醒用户注意平台兼容性,比如是否支持Windows、Linux等,以及版本匹配问题。 最后,生成相关问题时要考虑用户可能的后续需求,比如具体功能实现、问题排查、性能优化等。需要确保回答结构清晰,分步骤解释,并引用可用的资源,如GitHub链接和官方文档。</think>### PCLSharp 库的基本信息与使用 PCLSharp 是 Point Cloud Library(PCL)的 C# 绑定版本,主要用于点云数据处理,包含滤波、分割、特征提取等算法。以下是关键信息: #### 1. **安装与配置** - **NuGet 安装**:在 Visual Studio 中通过 NuGet 包管理器搜索 `PCLSharp` 或 `PCLSharp.All`(完整功能包)并安装[^4]。 - **项目配置**:确保项目目标框架为 `.NET Framework 4.7+` 或 `.NET Core 3.1+`,并在 `.csproj` 文件中添加依赖: ```xml <PackageReference Include="PCLSharp" Version="1.12.0" /> ``` #### 2. **基础使用示例** ```csharp using PCLSharp; using PCLSharp.IO; using PCLSharp.PointCloud; var cloud = new PointCloud<PointXYZ>(); using (var reader = new PCDReader()) { reader.Read("input.pcd", cloud); } // 应用滤波或算法 ``` #### 3. **核心功能** - **点云读写**:支持 `.pcd` 格式(`PCDReader`/`PCDWriter`)[^2]。 - **滤波**:如体素滤波 (`VoxelGrid`)。 - **分割**:如平面分割 (`SACSegmentation`)。 - **特征计算**:如法向量估计 (`NormalEstimation`)。 #### 4. **文档与资源** - **官方 GitHub**:参考 [PCLSharp GitHub](https://github.com/keijiro/PclSharp) 的代码示例与 Wiki。 - **PCL 原文档**:部分算法原理可查阅 [PCL 官方文档](https://pointclouds.org/documentation/)。 #### 5. **常见问题** - **依赖项冲突**:需安装对应版本的 PCL 原生库(Windows 需 VC++ 运行时)[^1]。 - **性能优化**:密集运算建议结合 C++/CLI 或优化数据流[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大胡子大叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值