openexr-devel
[Top][All Lists]
Advanced

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

Re: [Openexr-devel] Strange issue with half and _toFloat array.


From: Simon Smith
Subject: Re: [Openexr-devel] Strange issue with half and _toFloat array.
Date: Thu, 13 Feb 2014 18:40:58 +0000

Hi Piotr,

I used the version that's zipped up on the main OpenEXR website (v2.1.0).

I then duplicated the vc 2010 directory to build for VS2012 (just upgrading the projects on loading etc).
The projects there include the createDLL project and use them in the post-build steps.

I'm 99% sure the issue is that it's a DLL as mentioned because statically building the libs works as expected.

Best Regards,
   Simon



On 13 Feb 2014, at 17:12, Piotr Stanczyk wrote:

Which version are you using? We should be building without the createDLL path since we made a pass at setting the visibility attributes 

Piotr



On 13 February 2014 06:03, Simon Smith <address@hidden> wrote:
I've built the OpenEXR files under Windows using VS2012 from the source linked from the OpenEXR website.
Everything builds OK (after a few tweaks as mentioned on this group) and the HalfTest runs OK.

I was having issues with half/floats in my application, so I wrote a quick test command line app to check everything was OK.
Not unsurprisingly, it was not!

This was the code … 

float f1 = 0.0f;
float f2 = 4.0f;
half h1 = f1;
h1 += f2;
float fRes = h1;

assert(fRes = 4.0f);

When converting from the half to a float to get fRes I'm getting an exception reading from the _toFloat array.

I'm not quite sure how or why this happens - if I debug in the testArithmetic call in the HalfTest, it all seems OK … so why would my test program not load the DLL correctly, but the HalfTest does.

Pretty sure it's something dumb that I'm doing, but cannot think what it might be.

I'm using VS2012, Win8.1, running Debug x64 builds and the ilmbase-2.1.0 sour code (built in VS2012 too).

As a side note, when building the source I had to do the following:
1) Include config.windows to the Iex and IMath libraries
2) Manually copy the halfExport.h files over to the deploy directory.
3) Patch BaseExc to have a std::string member & change the IEX_EXPORT decorations around (as outlined in an earlier post)

So, any ideas, solutions, suggestions greatly appreciated to save my sanity :)

Best Regards,
   Simon

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




reply via email to

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