[Openexr-user] Re: [Openexr-devel] Ilmbase 1.0.1 and OpenEXR 1.6.1 under Windows x64
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
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