0

그래서 포인트 클라우드 물건에는 PCL을 사용하고 시각화에는 OpenSceneGraph를 사용합니다. PCL 시각화가 나쁘기 때문에 스스로 만들었습니다. 어쨌든 나는PCL 및 OSG 라이브러리 충돌

pcl::io::savePCDFileBinary<pcl::PointXYZRGBA>(fname2,*cloud); 

일 휴식이 문을 사용하려고 나는 다음과 같은 오류가 발생할 때마다

osgDBd.lib(osg80-osgDBd.dll) : error LNK2005: "public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::close(void)" ([email protected][email protected][email protected]@[email protected]@@[email protected]@QAEXXZ) already defined in Recorder.obj 
2>osgDBd.lib(osg80-osgDBd.dll) : error LNK2005: "public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor'(void)" ([email protected][email protected]@[email protected]@@[email protected]@QAEXXZ) already defined in Recorder.obj 
2>osgDBd.lib(osg80-osgDBd.dll) : error LNK2005: "public: bool __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::is_open(void)const " ([email protected][email protected][email protected]@[email protected]@@[email protected]@QBE_NXZ) already defined in Recorder.obj 
2>osgDBd.lib(osg80-osgDBd.dll) : error LNK2005: "public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::open(char const *,int,int)" ([email protected][email protected][email protected]@[email protected]@@[email protected]@[email protected]) already defined in Recorder.obj 
2>osgDBd.lib(osg80-osgDBd.dll) : error LNK2005: "public: __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(void)" ([email protected][email protected]@[email protected]@@[email protected]@[email protected]) already defined in Recorder.obj 
2>E:\Google Drive\Research\PCL\build\HandTracker\Debug\HandTracker.exe : fatal error LNK1169: one or more multiply defined symbols found 

내가 OSG와 PCL의 IO 파일 특히 ostream에 헤더를 충돌하는 것을 알고있다. 내 질문은 어떻게 해결할 수 있습니까? 중개 파일 저장, 로깅 등을 위해이 문장을 사용해야합니다. 바퀴를 다시 발명하는 것과 같은 자체 메서드를 사용하고 싶지 않으면 사용하지 않는 것이 좋습니다. 어떤 도움

답변

관련 문제