Error: unresolvable external symbol when using PCL by CLR

42 views Asked by At

I have a visual C++ project of Dynamic Library (.dll) type. This is beacuse I want to use that C++ dll that I build from a C# project. I want to compile it like a .dll using the Common Language Runtime Support (/clr) but it gives these errors:

LNK2001 unresolved external symbol "protected: static class std::vector<float,class std::allocator<float> > pcl::RangeImage::asin_lookup_table" (?asin_lookup_table@RangeImage@pcl@@1V?$vector@MV?$allocator@M@std@@@std@@A)

LNK2001 unresolved external symbol "protected: static class std::vector<float,class std::allocator<float> >pcl::RangeImage::atan_lookup_table" (?atan_lookup_table@RangeImage@pcl@@1V?$vector@MV?$allocator@M@std@@@std@@A)

LNK2001 unresolved external symbol "protected: static class std::vector<float,class std::allocator<float> > pcl::RangeImage::cos_lookup_table" (?cos_lookup_table@RangeImage@pcl@@1V?$vector@MV?$allocator@M@std@@@std@@A)  

LNK2001 unresolved external symbol "protected: static int const pcl::RangeImage::lookup_table_size" (?lookup_table_size@RangeImage@pcl@@1HB)    

LNK2001 unresolved external symbol "public: virtual void __cdecl pcl::RangeImage::getHalfImage(class pcl::RangeImage &)const " (?getHalfImage@RangeImage@pcl@@UEBAXAEAV12@@Z)
    
LNK2001 unresolved external symbol "public: virtual void __cdecl pcl::RangeImage::getSubImage(int,int,int,int,int,class pcl::RangeImage &)const " (?getSubImage@RangeImage@pcl@@UEBAXHHHHHAEAV12@@Z)

LNK2020 unresolved token(0A005AEA) "protected: static class std::vector<float,class std::allocator<float> > pcl::RangeImage::cos_lookup_table" (?cos_lookup_table@RangeImage@pcl@@1V?$vector@MV?$allocator@M@std@@@std@@A)

LNK2020 unresolved token(0A005AEB) "protected: static class std::vector<float,class std::allocator<float> > pcl::RangeImage::atan_lookup_table" (?atan_lookup_table@RangeImage@pcl@@1V?$vector@MV?$allocator@M@std@@@std@@A)    
    
LNK2020 unresolved token(0A005AEC) "protected: static int const pcl::RangeImage::lookup_table_size" (?lookup_table_size@RangeImage@pcl@@1HB)

LNK2020 unresolved token(0A005AED) "protected: static class std::vector<float,class std::allocator<float> > pcl::RangeImage::asin_lookup_table" (?asin_lookup_table@RangeImage@pcl@@1V?$vector@MV?$allocator@M@std@@@std@@A)    

PCL version is 1.11.1. And I didn't use RangeImage Class on my c++ program at all. Are there some solutions? Thanks in advance!

I confirm that all PCL .lib are added to project.

pcl_common.lib
pcl_features.lib
pcl_filters.lib
pcl_io.lib
pcl_io_ply.lib
pcl_kdtree.lib
pcl_keypoints.lib
pcl_ml.lib
pcl_octree.lib
pcl_outofcore.lib
pcl_people.lib
pcl_recognition.lib
pcl_registration.lib
pcl_sample_consensus.lib
pcl_search.lib
pcl_segmentation.lib
pcl_stereo.lib
pcl_surface.lib
pcl_tracking.lib
pcl_visualization.lib
0

There are 0 answers