Re: Windows Half.lib link errors

James Burgess <[email protected]> Mon, 14 Jan 2008 10:34:10 -0800
Newsgroups gmane.comp.video.openexr.user
Message-ID <[email protected]>
You sure you don't have OPENEXR_DLL defined? The editor will attempt  
to grey out the code that is ifdef'd out but it is easily confused. I  
suggest adding a #error or similar in half.cpp inside the appropriate  
#ifdef to prove you are getting the right defines. You must not have  
OPENEXR_DLL defined for a static build.

- James

On Jan 14, 2008, at 10:26 AM, Wesley Smith wrote:

> Hi James,
> I definitely see that and those files are indeed being generated.
> I'll look into the details of what is actually happenning and see if I
> can figure out where it's going wrong.  What the linker seems to
> indicate though is the lack of existence of the symbol and AFAICT, I
> should be getting syntax errors if the toFloat.cpp and eLut.cpp didn't
> exist since they're declared (email coding here) something like:
>
> static half::uif * _toFloat = #include "toFloat.cpp"
>
> I will admit to not being incredibly familiar with the details of
> windows building as I mostly use GCC and OSX, so we'll see how this
> goes.
>
> best,
> wes
>
>
>
>
> On Jan 14, 2008 10:18 AM, James Burgess <[email protected]> wrote:
>> Wes,
>>         You should see in the Half project a "Pre-Build Event" called
>> "Building LUT Files..." I think that toFloat.cpp and eLut.cpp get
>> compiled via that. (I'm refering to the 1.6 project file for IlmBase)
>>
>> - James
>>
>>
>> On Jan 13, 2008, at 2:12 PM, Wesley Smith wrote:
>>
>>> Hi,
>>> I'm trying to get OpenEXR to build properly on Windows with VS2008.
>>> The one stumbling block I have is with the static LUT exports for  
>>> data
>>> type conversion.
>>>
>>> 2>   Creating library ..\Release\Half.lib and object ..\Release
>>> \Half.exp
>>> 2>Half.exp : error LNK2001: unresolved external symbol "unsigned  
>>> short
>>> * _eLut" (?_eLut@@3PAGA)
>>> 2>Half.exp : error LNK2001: unresolved external symbol "union
>>> half::uif * _toFloat" (?_toFloat@@3PATuif@half@@A)
>>>
>>> I can't seem to figure out how to fix this issue.  Any ideas?  These
>>> are my preprocessor defines:
>>>
>>> WIN32
>>> NDEBUG
>>> _WINDOWS
>>> HALF_EXPORTS
>>>
>>> I've also changed the target from a dynamic dll to a static lib.
>>>
>>> thanks,
>>> wes
>>>
>>>
>>> _______________________________________________
>>> Openexr-user mailing list
>>> [email protected]
>>> http://lists.nongnu.org/mailman/listinfo/openexr-user
>>
>>