Hi Stefan,

I don't use Windows so can't comment on the platform specifics issues.
 The macro's used to get things to work under the static build
essentially just create C entry points that are exported in the
plugin, and then used in your application when you add a
USE_OSGPLUGIN(png).  Go have a look at the code for the macro to see
what is going on under the hood.

W.r.t the linker problems, I guess this is either you're missing
linking to libpng in your application, or that the static linking of
the OSG's png plugin isn't working quite right.  Only a few engineers
use the OSG as a static build so it may well be that you are
exercising parts that haven't been tested under Windows before.

Robert.

On Sun, Aug 30, 2009 at 11:02 PM, stefan nortd<[email protected]> wrote:
> Hi,
>
> I am currently using osg statically and cross-platform. I have been pretty
>  happy with how it worked out but have recently run into problems with
> certain plugins. Freetype works fine but png or jpeg does not with VS2008.
>
> I do the usual USE_OSGPLUGIN(png); and am also setting the path to the
> libs (just like with freetype).
>
> I get the following unresolved symbol linker problems.
>
>
> Code:
>
> Linking...
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_get_io_ptr
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_destroy_write_struct
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_write_end
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_write_image
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_write_info
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_set_IHDR
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_set_compression_level
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_set_write_fn
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_create_info_struct
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_create_write_struct
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_destroy_read_struct
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_get_channels
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_read_end
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_read_image
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_get_rowbytes
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_read_update_info
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_set_gamma
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_get_gAMA
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_set_packing
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_set_tRNS_to_alpha
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_get_valid
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_set_gray_1_2_4_to_8
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_set_palette_to_rgb
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_set_swap
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_get_IHDR
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_read_info
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_set_sig_bytes
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_set_read_fn
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_check_sig
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_set_error_fn
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_get_error_ptr
> osgdb_png.lib(ReaderWriterPNG.obj) : error LNK2001: unresolved external 
> symbol _png_create_read_struct
>
>
>
>
>
> Unfortunately I do not quite understand the USE_OSGPLUGIN macro and
> am therefore a bit stuck here. Is there something obvious I am missing?
> How does this macro include symbols statically from the plugins?
>
> Help very much appreciated ;)
> Thank you!
>
> Cheers,
> stefan
>
> ------------------------
> stefan hechenberger
>
> http://linear.nortd.com
>
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=16855#16855
>
>
>
>
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to