openexr-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Openexr-devel] RgbaOutputFile error on MSVC2005?


From: Amaan Akram
Subject: Re: [Openexr-devel] RgbaOutputFile error on MSVC2005?
Date: Thu, 26 Mar 2009 16:02:12 +0000
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)

Hi

Many thanks for responding.

The test apps seem  work fine.

I've tried depenency walker before and it always gives me a not-found error on MSVCR80.DLL. I am new to Visual C++, but I find that all of my compiled plugins that do not use EXR can find this library. Compiling my own set of dlls from the VC projects from Openexr.com also give MSVCR80 dll as a missing dependency.

I have uploaded some screen grabs from dependency walker.

Following is an example of Half.dll, showing a missing lib
http://warpedspace.org/temp/dll/not_found2.gif

Following is an example of my plugin that depends on EXR libs. What I find interesting in this one is that zlib_dll.dll can find this library, but the other EXR dll's cant.
(ignore SICPPSDK.DLL--that loads on execution).
http://warpedspace.org/temp/dll/not_found.gif

For reference, following is an example of a plugin that does not need EXR, and works (ignore the two missing DLLs--they are linked when the plugin loads)
http://warpedspace.org/temp/dll/found.gif

I have the MSVC++ distributables installed for 2005 SP1--so still not sure why the dependency

many thanks for looking in to this
amaan

Ger Hobbelt wrote:
Hm... did you try running one or more of the test apps included in
OpenEXR - to see if those do not turn up this error? (This might be
something due to not having the right Microsoft DLLs around or
something of that nature.)

Also check your executable/DLL using the Dependency Walker tool (
http://www.dependencywalker.com/ ) to see if any DLLs are listed as
missing (red lines). (Note: some system DLLs optionally delay-load
other system DLLs, which can show up in red - the point is that none
of the non-Microsoft DLLs and the binary itself should have
_immediate_ children listed as not available in there - unless such is
intentional.)

In case of further doubt / worry, fetch the sources (which include
project files) and compile/build the libs + tools on your own system.

My 2 cents at this moment...



On Wed, Mar 25, 2009 at 4:37 PM, Amaan Akram <address@hidden> wrote:
  
Hello everyone,

I am trying to use OpenEXR in a plugin that I am making for a 3D software to
output some data to a file. I am using precompiled libs for MSVC2005 from
hebbut.net  and link IlmImf.lib and Half.lib to produce a DLL plugin. For
reference, I am using the following code in my app

----------code starts-------------
1.   Imf::Array2D<Imf::Rgba> pixels(N+1,M+1);
2.   pixels[j][i].r    =  x[i] ;
3.   pixels[j][i].g    =  y[j] ;
4.   pixels[j][i].b    = z[i] ;
5.   Imf::RgbaOutputFile outC("c:\\exr1.exr", Imf::Header(N+1, M+1),
Imf::WRITE_RGBA);
6.   outC.setFrameBuffer (&pixels[0][0], 1, N+1);
7.   outC.writePixels (M+1);
----------code ends-------------

The above code compiles without any errors in MSVC2005 SP1.

When I take the compiled DLL in to my app, I get an error specific to my
application, and the error says "A procedure couldn't be found in library:"
It turns out that the error is related to line 5 in my code (RgbaOut...).
When I don't have this line in the code, and anything my application picks
up the DLL without errors. But as soon as this line is added, I get this
strange error.

I am not sure if this is something related to the 3D software that I am
using, or with my EXR output code. Has anyone else seen something similar
happening? I'd be grateful for any pointers

many thanks,
amaan


_______________________________________________
Openexr-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/openexr-devel

    



  


reply via email to

[Prev in Thread] Current Thread [Next in Thread]