openexr-devel
[Top][All Lists]
Advanced

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

Re: [Openexr-devel] openexr and ilmbase on vista with visual studio 200


From: Priyamvad Deshmukh
Subject: Re: [Openexr-devel] openexr and ilmbase on vista with visual studio 2008
Date: Sun, 1 Aug 2010 13:33:55 -0700

On Sun, Aug 1, 2010 at 12:17 PM, Ger Hobbelt <address@hidden> wrote:
Did you verify that the OpenEXR projects and your own /all/ use exactly the same microsoft run-time environment? (project Properties > C/ C++ > Code Generation > Run-time library (and the other entries, though some of those others may vary without causing trouble. That is, when you "know what you are doing" there. ;-)  The 'easy way out' is making sure all code is built with exactly the same settings: leads to less to worry about.)

Yes but it doesn't help with the error. 

And platform (so you're not trying to mix, say, OpenEXR dll's which are built for a Win32 target while your own own projects build for a Win64 (amd64) target at the same time? (MSVC: Build mnenu > Configuration Manager > all listed 'Platform's must be identical for each setup, except CreateDLL, eLUT and toFloat, which will always show up as 'Win32' in there. Also make sure the listed 'Configuration's are identical for all: debug or release)

I see in the configuration manager that everything is setup for Win32.

I think sometime back there was a comment saying that one should remove createDLL completely from the post-build step for building static libraries?
Can someone tell me how to do that?


Thanks for taking some time out to explain Ger!
Sincerely
Priyamvad
On Sun, Aug 1, 2010 at 12:17 PM, Ger Hobbelt <address@hidden> wrote:
Did you verify that the OpenEXR projects and your own /all/ use exactly the same microsoft run-time environment? (project Properties > C/C++ > Code Generation > Run-time library (and the other entries, though some of those others may vary without causing trouble. That is, when you "know what you are doing" there. ;-)  The 'easy way out' is making sure all code is built with exactly the same settings: leads to less to worry about.)

And platform (so you're not trying to mix, say, OpenEXR dll's which are built for a Win32 target while your own own projects build for a Win64 (amd64) target at the same time? (MSVC: Build mnenu > Configuration Manager > all listed 'Platform's must be identical for each setup, except CreateDLL, eLUT and toFloat, which will always show up as 'Win32' in there. Also make sure the listed 'Configuration's are identical for all: debug or release)

Generally, the errors you mention are due to projects/libraries/dll collections which all dream their own flavor of run-time/platform dream and then brutally clash with harsh reality.
It /may/ be that the Half.dll (which shouldn't be needed if the entire build (solution/.sln) is set up to create a static build of everything, including OpenEXR) isn't in the same directory as the final binary (.exe)? I haven't had time to check the latest OpenEXR release (or CVS HEAD) yet, hence this somewhat vague response; I haven't checked the latest&greatest re 64-bit compiles; there were a few surprises to be had in older releases, but given the latest intel on this ML I'd expect a hassle-free x64 build for the latest release.


Also be aware that MSVC sometimes screws things up, especially when you go around and change project settings. A 'make clean' (a.k.a. 'rebuild all') may be in order to make odd behaviour magically disappear. I've had a few agonizing searches like that myself in the past, and I'm sure MSVC is still lurking in the grass for a surprise attack once I'm slacking off.

MSVCR90.dll makes me assume you're using MSVC2008. Correct? (If not, then you must be using some precompiled binaries (dlls/libs) from somewhere else. Or...)


On Sun, Aug 1, 2010 at 7:33 PM, Priyamvad Deshmukh <address@hidden> wrote:
ilmbase 1.0.1
openexr 1.6.1

ok, so I've spent a day trying to get this working with my code but I've run into brick walls with each method.
Here is what I have tried until now:
1) I tried following the readme steps exactly and they compile successfully.
2) When I try to use some half structures in my own code however, I get linker errors which people have talked about elsewhere:
unresolved external symbol "private: static unsigned short const * const half::_eLut" (address@hidden@@0QBGB)

The solution to it seems to be to define OPENEXR_DLL in your preprocessor directive which indeed makes the error go away.
3) However, I now get a runtime error saying Half.dll not found even though I have set it up so that it looks in the Deploy/bin directory.
4) So I try copying the Half.dll in system64 directory and now I get a missing MSVCR90.dll error which I don't see anywhere.

5) I tried statically building the libraries and even though that compiles, my application still seems to look for Half.dll.

Anyone have any idea what is going on with this build?
Any help would be appreciated!
Aargh
Priyamvad

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




--
Met vriendelijke groeten / Best regards,

Ger Hobbelt

--------------------------------------------------
web:    http://www.hobbelt.com/
        http://www.hebbut.net/
mail:   address@hidden
mobile: +31-6-11 120 978
--------------------------------------------------



reply via email to

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