iclcv/icl

Linker Error icl-lens-undistort [MSVC]

Closed this issue · 1 comments

unresolved external symbol "public: void __cdecl
icl::markers::AdvancedMarkerGridDetector::Marker::KeyPoints::appendCornersTo(class 
std::vector<class icl::utils::Point32f,class std::allocator<class icl::utils::Point32f> > &)const 
" (appendCornersTo@KeyPoints@Marker@AdvancedMarkerGridDetector@markers@icl@@QEBAXAEAV?$vector@VPoint32f@utils@icl@@V?$allocator@VPoint32f@utils@icl@@@std@@@std@@@Z)
referenced in function "void __cdecl handleMarkerDetection(class icl::core::ImgBase const *,class icl::qt::DrawHandle &,bool &)" (?handleMarkerDetection@@YAXPEBVImgBase@core@icl@@AEAVDrawHandle@qt@3@AEA_N@Z)
icl-lens-undistortion-calibration-opencv

I am not 100 percent sure about how these API macros work but I assume they have something to do with what is exposed in a lib/dll in windows.
So I edited KeyPoints in AdvancedMarkerGridDetectorto struct **ICLMarkers_API** KeyPoints{ since I had the hunch that KeyPoints is just not exposed somehow. So now it compiles. @celbrech: Do you think this actually solved the problem or just moved the issue to runtime. Afaik, it should not interfere with *nix since in both cases ICLMarkers_API is resolved empty, right?