Hi Bruno, Was there any progress on this front? I'm interested in migrating my lab to VS2012 eventually so I will investigate later if the solution has not been found already.
Regards, Ho Cheung Research Assistant Bio-Image Analytics Lab - University of Houston [email protected] Cell: (775) 388-2368 On Mon, Feb 4, 2013 at 9:46 AM, Bruno Ronzani <[email protected]> wrote: > Hey back, > > I'm still stuck on it ! It's been days... > > Here is a sample code : http://codepad.org/jXtJdRnK > > But look, this is from itksys/Configure.h ... why "#if 0" ?! > > Since there is no dll_export, i'm not surprised that ITK is always > built statically :( > > /******/ > > /* Setup the export macro. */ > #if 0 > # if defined(_WIN32) || defined(__CYGWIN__) > # if defined(itksys_EXPORTS) > # define itksys_EXPORT __declspec(dllexport) > # else > # define itksys_EXPORT __declspec(dllimport) > # endif > # elif __GNUC__ >= 4 > # define itksys_EXPORT __attribute__ ((visibility("default"))) > # else > # define itksys_EXPORT > # endif > #else > # define itksys_EXPORT > #endif > > /*****/ > > Thanks for you help, > > Bruno > > > On Mon, Feb 4, 2013 at 2:46 PM, Bruno Ronzani <[email protected]> > wrote: > > I just tried to add the osgDB::fstream class to my project : > > > > - copying both osgDB/fstream.h and osgDB/fstream.cpp to my project > > source dir, adding them to my project. > > - removing all the "DLL_EXPORT" macros, but keeping the namespaces > > > > => compilation succeeds, without any link error. > > > > If that can help... > > > > Thanks again, > > > > Bruno > > > > On Mon, Feb 4, 2013 at 2:33 PM, Bruno Ronzani <[email protected]> > wrote: > >> Hello Brad, > >> > >> Thank you for your answer. > >> > >> You are right, here is the osgDB/fstream header : > >> > >> https://github.com/openscenegraph/osg/blob/master/include/osgDB/fstream > >> > >> As you can see, osg cleanly redefines its own fstream, but that should > >> not be a problem at all. > >> > >> I've read several times this issue with this kind of answer: > >> > >> "I have been using Visual Studio 2010 and fstreams and OSG DLLs with > >> no issues at all. The only possibility is you are compiling with > >> incompatible compiler options between OSG and your other library. All > >> files must be compiled /MD(d) and of course compiled with Visual > >> Studio 2010." > >> > >> My guess is I haven't really compiled ITK with /MD, don't you think ? > >> > >> If you want a very simple example, I can try to provide one. > >> > >> Thanks again, > >> > >> On Mon, Feb 4, 2013 at 1:56 PM, Bradley Lowekamp < > [email protected]> wrote: > >>> Hello, > >>> > >>> Are you using a CMake file to build your project? > >>> > >>> Can you boil down this issue to a minimal example to reproduce this > error? > >>> > >>> What seems odd to me is that it sounds like osg92-osgDB.dll is export > the std::basic_ifstream. So this may not even be an ITK issue. > >>> > >>> Brad > >>> > >>> On Feb 4, 2013, at 6:53 AM, Bruno Ronzani <[email protected]> > wrote: > >>> > >>>> Hello everyone, > >>>> > >>>> I am doing all I can to build ITK on VS2012, but I am experiencing a > >>>> lot of trouble... > >>>> > >>>> - I am using CMake. > >>>> - If I choose to build "static" (build_shared unchecked) ITK, > >>>> everything compiles fine. > >>>> - if I choose to build "shared" (build_shared checked), everything > >>>> compiles fine too. One ITKCommon-4.0.dll is created. > >>>> > >>>> Now here the trouble... > >>>> > >>>> When I try to compile a sample program with OpenSceneGraph, I have a > >>>> bunch of link errors of type : > >>>> > >>>> ITKMetaIO-4.0.lib(metaObject.obj) : error LNK2005: "public: __thiscall > >>>> std::basic_ifstream<char,struct std::char_traits<char> > >>>>> ::basic_ifstream<char,struct std::char_traits<char> >(void)" > >>>> (??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@XZ) already > >>>> defined in osgDB.lib(osg92-osgDB.dll) > >>>> > >>>> Apparently, this kind of errors appear when a static library is linked > >>>> with a dynamic one... > >>>> I've checked in my "shared" ITK solution project : most of the > >>>> projects are still built in static mode. > >>>> I tried to force the "Use MFC in a Shared DLL" but it doesn't change > anything. > >>>> If I force the Configuration Type to .dll, then I have a bunch of link > >>>> errors, like : > >>>> > >>>> unresolved external symbol __imp__RegCloseKey@4 referenced in > function > >>>> "public: static bool __cdecl > >>>> itksys::SystemTools::DeleteRegistryValue(char const *,enum > >>>> itksys::SystemTools::KeyWOW64)" > >>>> (?DeleteRegistryValue@SystemTools@itksys@@SA_NPBDW4KeyWOW64@12@@Z) > >>>> > >>>> Any idea ? > >>>> > >>>> Thank you very much ! > >>>> > >>>> Cheers, > >>>> > >>>> Bruno > >>>> _______________________________________________ > >>>> Powered by www.kitware.com > >>>> > >>>> Visit other Kitware open-source projects at > >>>> http://www.kitware.com/opensource/opensource.html > >>>> > >>>> Kitware offers ITK Training Courses, for more information visit: > >>>> http://kitware.com/products/protraining.php > >>>> > >>>> Please keep messages on-topic and check the ITK FAQ at: > >>>> http://www.itk.org/Wiki/ITK_FAQ > >>>> > >>>> Follow this link to subscribe/unsubscribe: > >>>> http://www.itk.org/mailman/listinfo/insight-developers > >>> > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-developers >
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://www.itk.org/mailman/listinfo/insight-developers
