Opened 16 years ago

Closed 6 years ago

#2345 closed enhancement (wontfix)

Export Mitab-classes or include mitab_capi.h in OGR

Reported by: Geoheber Owned by: warmerdam
Priority: normal Milestone:
Component: OGR_SF Version: unspecified
Severity: normal Keywords: mitab
Cc: Daniel Morissette

Description

There shold be one way to use MITAB-operations within OGR directly. Nearly all the code of the separate MITAB-Lib is contained within GDAL, but it cannot be used from outside the Library because it is not exported. There are 2 possibilites which would allow this: 1) Include mitab_capi.h and mitab_capi.cpp from Mitab-Lib in Gdal. Then, one can use this C-API without using MITAB.DLL (there are linker collisions if using both libraries, MITAB.DLL and GDAL15.DLL)

  • or/and -

2) Export the Mitab-classes like IMapInfoFile to usem them from outside. I think there is currently no possibility to use the C++ - API from outside. I have found a similar suggestion here: http://lists.osgeo.org/pipermail/gdal-dev/2005-October/006698.html

One of these enhancements would be very helpful to me because now, I have to change sourcecode of mitab.h everytime to add the exports.

Change History (3)

comment:1 by warmerdam, 16 years ago

Cc: Daniel Morissette added
Keywords: mitab added

comment:2 by Jukka Rahkonen, 9 years ago

File /trunk/gdal/ogr/ogrsf_frmts/mitab/mitab.h still has class IMapInfoFile : public OGRLayer

Copying the contents of the linked mail Thu Oct 6 15:17:16 EDT 2005 that deals with the alternative 2) in a hope that it makes it easier for the mitab folks to say if the suggestion is still reasonable.

Looking at mitab.h, it does not seem that Daniel
marked the
MITAB custom classes for export from the DLL.  It
might be
sufficient to change your local copy of mitab.h to
declare
some (all?) of the classes for export.

For example change:
class IMapInfoFile : public OGRLayer
 
 to:
 class CPL_DLL IMapInfoFile : public OGRLayer
 
 If this resolves the problem, then you might want to
 submit a
 bug against MITAB suggesting that this be
 incorporated back
 into the core.
 

comment:3 by Even Rouault, 6 years ago

Resolution: wontfix
Status: newclosed

MITAB is considered an internal implementation detail

Note: See TracTickets for help on using tickets.