Failed to load TileSource driver for custom driver

classic Classic list List threaded Threaded
4 messages Options
Reid Reid
Reply | Threaded
Open this post in threaded view
|

Failed to load TileSource driver for custom driver

Hello,

I am attempting to load ECRG imagery using a slightly modified gdal driver. I've built and added the plugin to OSG, and by using ProcessExplorer I am able to confirm the .dll does load. The error I am seeing however is : "[osgEarth]* [TileSourceFactory] Failed to load TileSource driver "gdal_ecrg" "

At the end of my new driver I used the macro REGISTER_OSGPLUGIN. The only thing that is different from the original gdal driver, is the file path is modified when looking for appropriate imagery files, as well as adding the _ECRG to classnames.

I have also modified GDALOptions to handle my name changes. All source files and .dlls are placed in the same location as all other osg plugins.

Does anyone have any ideas what i'm doing wrong here?
gwaldron gwaldron
Reply | Threaded
Open this post in threaded view
|

Re: Failed to load TileSource driver for custom driver

Which version of osgEarth are you using?

Hard to say, but if you are sure the DLL is loading, you're going to need to find the TileSourceFactory::create method and trace through it to see what is going wrong.
Glenn Waldron / Pelican Mapping
Reid Reid
Reply | Threaded
Open this post in threaded view
|

Re: Failed to load TileSource driver for custom driver

I am using osgEarth 2.7. Based upon the error message we are failing this cast :
result = dynamic_cast<TileSource*>( osgDB::readObjectFile( driverExt, rwopt.get() ) ); (line 392 of TileSource.cpp)

I will try to step through the code in a few.
gwaldron gwaldron
Reply | Threaded
Open this post in threaded view
|

Re: Failed to load TileSource driver for custom driver

OK. Make sure the readObject() method of your osgDB::ReaderWriter it returning a TileSource*.
Glenn Waldron / Pelican Mapping