Поэтому я использую PCL для облачных вычислений и OpenSceneGraph для визуализации. Визуализация PCL довольно плохая, поэтому я сделал свою собственную. В любом случае, когда я пытаюсь использовать это утверждение
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)" (?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@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)" (??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@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 " (?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@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)" (?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z) 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)" (??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@XZ) 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 конфликтуют, особенно в заголовках ostream. Мой вопрос, как мне это исправить? Мне нужно использовать это утверждение для хранения промежуточных файлов, ведения журналов и т. Д., Поэтому о его использовании не может быть и речи, если только я не хочу использовать свой собственный метод, который напоминает изобретение колеса.
Спасибо за любую помощь
http://forum.openscenegraph.org/viewtopic.php?t=8099
Есть несколько решений, изложенных там.