[Openexr-user] Re: [Openexr-devel] Ilmbase 1.0.1 and OpenEXR 1.6.1 under Windows x64

2009-07-02 Thread Bo Schwarzstein
Hello Rodrigo,

The almost proper operation steps are like this,


   1. Make a work directory in one of your disk ( my is F:\Workshop )
   2. Uncompress the *ilmbase-1.0.1.tar.gz* and *openexr-1.6.1.tar.gz* under
   the work directory (just like F:\Workshop\ilmbase-1.0.1\config and others
   stuff )
   3. Open the Visual Studio solution file according your IDE (my is VC8),
   change the target to *Release* (I like RELEASE version)
   4. Launch the *Command Prompt* in VS
   5. Get into the *F:\Workshop\ilmbase-1.0.1\Half*, input *cl eLut.cpp* and
   *cl toFloat.cpp* to compile the LUTs
   6. Type *eLut > eLut.h* and *toFloat > toFloat.h* to generate the lut
   files
   7. Compile the *Half* project in VS, it should be okay.
   8. You will find it create a directory names *F:\Deploy*, and it copied
   the *lib, include, bin* files in each directory.
   9. Go to *http://www.zlib.net/*, download the *DLL version*, copy the *
   zdll.lib* to the *F:\Deploy\lib\Release\*
   10. Open the *OpenEXR*'s VC8 project, try to compile, there should be no
   problem.

Please have a try, I tried for several times and been successful to compile
the libraries. I wish OpenEXR could use the CMake in further version.

Thanks.

2009/7/3 Rodrigo Urra 

> Hi Bo, and thanks for the reply.
>
> Could you elaborate a little further please? I'm not 100% familiar with
> Visual Studio's project build settings / macros.
>
> Thanks again,
> - Rodrigo
>
> On Tue, Jun 30, 2009 at 11:48 PM, Bo Schwarzstein <
> bo.schwarzst...@gmail.com> wrote:
>
>> Hi,
>>
>> In fact, it's still very painful to compile OpenEXR under Visual Studio.
>> According your error information, it seems that the half in ILMBase did not
>> export the entry correctly, you could manual setup the macros in order to
>> generate the proper library files.
>>
>> Thanks.
>>
>> 2009/7/1 Rodrigo Urra 
>>
>>>  Hello,
>>>
>>> The demand for building programs under 64-bit configuration is growing,
>>> which is what brings me here :)
>>>
>>> I'm having issues compiling Ilmbase 1.0.1 and OpenEXR 1.6.1 under Visual
>>> Studio 2008, using a x64 platform configuration, and was hoping to get some
>>> help. If for instance, one takes the original distribution, adds an x64
>>> configuration and tries to Build Ilmbase, the linker errors are numerous.
>>> See below.
>>>
>>> Could someone please explain how to successfully build, or at least point
>>> to OpenEXR 1.6.1 pre-built x64 libs and dlls?
>>>
>>> Thank you!
>>>
>>> Error2error LNK2001: unresolved external symbol "class
>>> std::basic_ostream > & __cdecl
>>> operator<<(class std::basic_ostream >
>>> &,class half)" (?...@yaaeav?$basic_ostream@du?$char_tra...@d@std@@@std@
>>> @aea...@vhalf@@@Z)testClassification.obj
>>> Error3error LNK2001: unresolved external symbol "class
>>> std::basic_ostream > & __cdecl
>>> operator<<(class std::basic_ostream >
>>> &,class half)" (?...@yaaeav?$basic_ostream@du?$char_tra...@d@std@@@std@
>>> @aea...@vhalf@@@Z)testError.obj
>>> Error4error LNK2001: unresolved external symbol "private: static
>>> short __cdecl half::convert(int)" (?conv...@half@@c...@z)
>>> testFunction.obj
>>> Error5error LNK2001: unresolved external symbol "private: static
>>> short __cdecl half::convert(int)" (?conv...@half@@c...@z)
>>> testLimits.obj
>>> Error7error LNK2001: unresolved external symbol "private: static
>>> short __cdecl half::convert(int)" (?conv...@half@@c...@z)
>>> testBitPatterns.obj
>>> Error8error LNK2001: unresolved external symbol "private: static
>>> short __cdecl half::convert(int)" (?conv...@half@@c...@z)
>>> testClassification.obj
>>> Error9error LNK2001: unresolved external symbol "private: static
>>> short __cdecl half::convert(int)" (?conv...@half@@c...@z)
>>> testError.obj
>>> Error13error LNK2001: unresolved external symbol "void __cdecl
>>> printBits(class std::basic_ostream >
>>> &,class half)" (?printBits@@yaxaeav?$basic_ostr...@du?$char_traits@D
>>> @std@@@std@@Vhalf@@@Z)testClassification.obj
>>> Error14error LNK2001: unresolved external symbol "void __cdecl
>>> printBits(class std::basic_ostream >
>>> &,class half)" (?printBits@@yaxaeav?$basic_ostr...@du?$char_traits@D
>>> @std@@@std@@Vhalf@@@Z)testError.obj
>>> Error1error LNK2019: unresolved external symbol "class
>>> std::basic_ostream > & __cdecl
>>> operator<<(class std::basic_ostream >
>>> &,class half)" (?...@yaaeav?$basic_ostream@du?$char_tra...@d@std@@@std@
>>> @aea...@vhalf@@@Z) referenced in function "void __cdecl
>>> testArithmetic(void)" (?testArithmetic@@YAXXZ)testArithmetic.obj
>>> Error6error LNK2019: unresolved external symbol "private: static
>>> short __cdecl half::convert(int)" (?conv...@half@@c...@z) referenced in
>>> function "public: __cdecl half::half(float)" (??0half@@q...@m@Z)
>>> testArithmetic.obj
>>> Error11error LNK2019: unresolved external symbol "void __cdecl
>>> printBits(char * const,class half)" (?p

[Openexr-user] Re: [Openexr-devel] Ilmbase 1.0.1 and OpenEXR 1.6.1 under Windows x64

2009-07-02 Thread Bo Schwarzstein
Sorry, I did not notice these information, and I have another problem

In *createDLL *it write MACHINE:X86, when I modified it to *X64*, the
createDLL seems can't work properly, just only can compile the Half to X64.


   - 1>CreateDLL found 251 symbols
   - 1>Exporting DLL
   - 1>   Creating library ..\Release\Iex.lib and object ..\Release\Iex.exp
   - 1>Iex.exp : error LNK2001: unresolved external symbol
   cta7?averrno...@iex@@
   - 1>Iex.exp : error LNK2001: unresolved external symbol
   cta8?ave2big...@iex@@
   - 1>Iex.exp : error LNK2001: unresolved external symbol
   cta8?aveacces...@iex@@
   - 1>Iex.exp : error LNK2001: unresolved external symbol
   cta8?aveagain...@iex@@


So, how should we change the createDLL to destory this kind of error ?

2009/7/3 Rodrigo Urra 

> Hi Bo, and thanks for the reply.
>
> Could you elaborate a little further please? I'm not 100% familiar with
> Visual Studio's project build settings / macros.
>
> Thanks again,
> - Rodrigo
>
> On Tue, Jun 30, 2009 at 11:48 PM, Bo Schwarzstein <
> bo.schwarzst...@gmail.com> wrote:
>
>> Hi,
>>
>> In fact, it's still very painful to compile OpenEXR under Visual Studio.
>> According your error information, it seems that the half in ILMBase did not
>> export the entry correctly, you could manual setup the macros in order to
>> generate the proper library files.
>>
>> Thanks.
>>
>> 2009/7/1 Rodrigo Urra 
>>
>>>  Hello,
>>>
>>> The demand for building programs under 64-bit configuration is growing,
>>> which is what brings me here :)
>>>
>>> I'm having issues compiling Ilmbase 1.0.1 and OpenEXR 1.6.1 under Visual
>>> Studio 2008, using a x64 platform configuration, and was hoping to get some
>>> help. If for instance, one takes the original distribution, adds an x64
>>> configuration and tries to Build Ilmbase, the linker errors are numerous.
>>> See below.
>>>
>>> Could someone please explain how to successfully build, or at least point
>>> to OpenEXR 1.6.1 pre-built x64 libs and dlls?
>>>
>>> Thank you!
>>>
>>> Error2error LNK2001: unresolved external symbol "class
>>> std::basic_ostream > & __cdecl
>>> operator<<(class std::basic_ostream >
>>> &,class half)" (?...@yaaeav?$basic_ostream@du?$char_tra...@d@std@@@std@
>>> @aea...@vhalf@@@Z)testClassification.obj
>>> Error3error LNK2001: unresolved external symbol "class
>>> std::basic_ostream > & __cdecl
>>> operator<<(class std::basic_ostream >
>>> &,class half)" (?...@yaaeav?$basic_ostream@du?$char_tra...@d@std@@@std@
>>> @aea...@vhalf@@@Z)testError.obj
>>> Error4error LNK2001: unresolved external symbol "private: static
>>> short __cdecl half::convert(int)" (?conv...@half@@c...@z)
>>> testFunction.obj
>>> Error5error LNK2001: unresolved external symbol "private: static
>>> short __cdecl half::convert(int)" (?conv...@half@@c...@z)
>>> testLimits.obj
>>> Error7error LNK2001: unresolved external symbol "private: static
>>> short __cdecl half::convert(int)" (?conv...@half@@c...@z)
>>> testBitPatterns.obj
>>> Error8error LNK2001: unresolved external symbol "private: static
>>> short __cdecl half::convert(int)" (?conv...@half@@c...@z)
>>> testClassification.obj
>>> Error9error LNK2001: unresolved external symbol "private: static
>>> short __cdecl half::convert(int)" (?conv...@half@@c...@z)
>>> testError.obj
>>> Error13error LNK2001: unresolved external symbol "void __cdecl
>>> printBits(class std::basic_ostream >
>>> &,class half)" (?printBits@@yaxaeav?$basic_ostr...@du?$char_traits@D
>>> @std@@@std@@Vhalf@@@Z)testClassification.obj
>>> Error14error LNK2001: unresolved external symbol "void __cdecl
>>> printBits(class std::basic_ostream >
>>> &,class half)" (?printBits@@yaxaeav?$basic_ostr...@du?$char_traits@D
>>> @std@@@std@@Vhalf@@@Z)testError.obj
>>> Error1error LNK2019: unresolved external symbol "class
>>> std::basic_ostream > & __cdecl
>>> operator<<(class std::basic_ostream >
>>> &,class half)" (?...@yaaeav?$basic_ostream@du?$char_tra...@d@std@@@std@
>>> @aea...@vhalf@@@Z) referenced in function "void __cdecl
>>> testArithmetic(void)" (?testArithmetic@@YAXXZ)testArithmetic.obj
>>> Error6error LNK2019: unresolved external symbol "private: static
>>> short __cdecl half::convert(int)" (?conv...@half@@c...@z) referenced in
>>> function "public: __cdecl half::half(float)" (??0half@@q...@m@Z)
>>> testArithmetic.obj
>>> Error11error LNK2019: unresolved external symbol "void __cdecl
>>> printBits(char * const,class half)" (?printBits@@YAXQEADVhalf@@@Z)
>>> referenced in function "void __cdecl `anonymous
>>> namespace'::testBits(float,char const * const,char const * const)"
>>> (?testb...@?a0x5c734a8f@@yaxmqe...@z)testBitPatterns.obj
>>> Error10error LNK2019: unresolved external symbol "void __cdecl
>>> printBits(char * const,float)" (?printBits@@yaxqe...@z) referenced in
>>> function "void __cdecl `anonymous namespace'::testBits(float,char const *
>>> const,char const