Select to view content in your preferred language

Will all library versions be in final product?

3227
5
03-14-2011 10:32 AM
HowardGleason
Deactivated User
Thanks for including the 64-bit and debug libraries in beta 2, but will the final product include all variations of the C/C++ libraries?  Specifically, eight different libraries are needed to accommodate all possible ways users can build: Debug/Release, 32/64-bit, and Dynamic/Static C/C++ linking.  In terms of the VS compiler switches, for each of 32 and 64-bit: /MD, /MDd, /MT, /MTd.

Thanks,
Howard
0 Kudos
5 Replies
LanceShipman
Esri Regular Contributor
Thanks for including the 64-bit and debug libraries in beta 2, but will the final product include all variations of the C/C++ libraries?  Specifically, eight different libraries are needed to accommodate all possible ways users can build: Debug/Release, 32/64-bit, and Dynamic/Static C/C++ linking.  In terms of the VS compiler switches, for each of 32 and 64-bit: /MD, /MDd, /MT, /MTd.

Thanks,
Howard


This is what we currently plan.

32-bit/64-bit/VS2008/VS2010
Release, multi-threaded DLL runtime library (/MD)
Debug, multi-threaded DLL runtime library (/MDd)
0 Kudos
HowardGleason
Deactivated User
32-bit/64-bit/VS2008/VS2010
Release, multi-threaded DLL runtime library (/MD)
Debug, multi-threaded DLL runtime library (/MDd)


Is Esri opposed to including the /MT and /MTd versions for some reason? 

Some developers (like me) prefer to static link the C/C++ libraries.  Without those versions, all projects that use the File GeoDatabase API will be forced to use /MD or /MDd.  Please include the /MT and /MTd versions.

Thanks,
Howard
0 Kudos
VinceAngelo
Esri Esteemed Contributor
Just because one of the resource libraries is linked /MD doesn't mean your application
needs to be /MD.  I just used VS 2008 to create an /MT application that uses the /MD
FileGDBAPI.lib -- It does create a FileGDBAPI.dll dependency, but the license permits
redistribution of the  DLL.  The plus here is that release of future SPs to the API wouldn't
always require recompilation of the apps that use it.

- V
0 Kudos
HowardGleason
Deactivated User
-- It does create a FileGDBAPI.dll dependency


And by extension, the FileGDBAPI.dll has a dependency on either MSVCR90.dll or MSVCR100.dll, which means I still have to account for the MS C/C++ libs in my install.  I always prefer to avoid dependencies and therefore avoid DLL issues.  (Though, I have to admit, these issues are much less severe than they used to be.)

If you have a policy against the /MT and /MTd versions of the .lib so be it, I just thought adding a couple of additional build configurations would be no big deal.

Thank you.
0 Kudos
VinceAngelo
Esri Esteemed Contributor
I'm not on the Development side, but I think the issue would be the addition of eight more
configurations (Release + Debug x 32 + 64 x vs9 + vs10 x MD + MT).  Other Esri products
like ArcSDE also follow the DLL distribution model.

- V
0 Kudos