Ilmbase 1.0.1 and OpenEXR 1.6.1 under Windows x64
2009-07-01 00:53:35 GMT
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!
Error 2 error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class half)" (??6 <at> YAAEAV?$basic_ostream <at> DU?$char_traits <at> D <at> std <at> <at> <at> std <at> <at> AEAV01 <at> Vhalf <at> <at> <at> Z) testClassification.obj
Error 3 error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class half)" (??6 <at> YAAEAV?$basic_ostream <at> DU?$char_traits <at> D <at> std <at> <at> <at> std <at> <at> AEAV01 <at> Vhalf <at> <at> <at> Z) testError.obj
Error 4 error LNK2001: unresolved external symbol "private: static short __cdecl half::convert(int)" (?convert <at> half <at> <at> CAFH <at> Z) testFunction.obj
Error 5 error LNK2001: unresolved external symbol "private: static short __cdecl half::convert(int)" (?convert <at> half <at> <at> CAFH <at> Z) testLimits.obj
Error 7 error LNK2001: unresolved external symbol "private: static short __cdecl half::convert(int)" (?convert <at> half <at> <at> CAFH <at> Z) testBitPatterns.obj
Error 8 error LNK2001: unresolved external symbol "private: static short __cdecl half::convert(int)" (?convert <at> half <at> <at> CAFH <at> Z) testClassification.obj
Error 9 error LNK2001: unresolved external symbol "private: static short __cdecl half::convert(int)" (?convert <at> half <at> <at> CAFH <at> Z) testError.obj
Error 13 error LNK2001: unresolved external symbol "void __cdecl printBits(class std::basic_ostream<char,struct std::char_traits<char> > &,class half)" (?printBits <at> <at> YAXAEAV?$basic_ostream <at> DU?$char_traits <at> D <at> std <at> <at> <at> std <at> <at> Vhalf <at> <at> <at> Z) testClassification.obj
Error 14 error LNK2001: unresolved external symbol "void __cdecl printBits(class std::basic_ostream<char,struct std::char_traits<char> > &,class half)" (?printBits <at> <at> YAXAEAV?$basic_ostream <at> DU?$char_traits <at> D <at> std <at> <at> <at> std <at> <at> Vhalf <at> <at> <at> Z) testError.obj
Error 1 error LNK2019: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class half)" (??6 <at> YAAEAV?$basic_ostream <at> DU?$char_traits <at> D <at> std <at> <at> <at> std <at> <at> AEAV01 <at> Vhalf <at> <at> <at> Z) referenced in function "void __cdecl testArithmetic(void)" (?testArithmetic <at> <at> YAXXZ) testArithmetic.obj
Error 6 error LNK2019: unresolved external symbol "private: static short __cdecl half::convert(int)" (?convert <at> half <at> <at> CAFH <at> Z) referenced in function "public: __cdecl half::half(float)" (??0half <at> <at> QEAA <at> M <at> Z) testArithmetic.obj
Error 11 error LNK2019: unresolved external symbol "void __cdecl printBits(char * const,class half)" (?printBits <at> <at> YAXQEADVhalf <at> <at> <at> Z) referenced in function "void __cdecl `anonymous namespace'::testBits(float,char const * const,char const * const)" (?testBits <at> ?A0x5c734a8f <at> <at> YAXMQEBD0 <at> Z) testBitPatterns.obj
Error 10 error LNK2019: unresolved external symbol "void __cdecl printBits(char * const,float)" (?printBits <at> <at> YAXQEADM <at> Z) referenced in function "void __cdecl `anonymous namespace'::testBits(float,char const * const,char const * const)" (?testBits <at> ?A0x5c734a8f <at> <at> YAXMQEBD0 <at> Z) testBitPatterns.obj
Error 12 error LNK2019: unresolved external symbol "void __cdecl printBits(class std::basic_ostream<char,struct std::char_traits<char> > &,class half)" (?printBits <at> <at> YAXAEAV?$basic_ostream <at> DU?$char_traits <at> D <at> std <at> <at> <at> std <at> <at> Vhalf <at> <at> <at> Z) referenced in function "void __cdecl `anonymous namespace'::testBits(float,char const * const,char const * const)" (?testBits <at> ?A0x5c734a8f <at> <at> YAXMQEBD0 <at> Z) testBitPatterns.obj
Error 15 error LNK2019: unresolved external symbol "void __cdecl printBits(class std::basic_ostream<char,struct std::char_traits<char> > &,float)" (?printBits <at> <at> YAXAEAV?$basic_ostream <at> DU?$char_traits <at> D <at> std <at> <at> <at> std <at> <at> M <at> Z) referenced in function "void __cdecl `anonymous namespace'::testBits(float,char const * const,char const * const)" (?testBits <at> ?A0x5c734a8f <at> <at> YAXMQEBD0 <at> Z) testBitPatterns.obj
Error 16 fatal error LNK1120: 6 unresolved externals x64\Release/HalfTest.exe
_______________________________________________ Openexr-devel mailing list Openexr-devel <at> nongnu.org http://lists.nongnu.org/mailman/listinfo/openexr-devel
)
and check your dll's don't happen to load ever so slightly different
MS RTL DLLs by /any/ chance.
On Fri, Jul 17, 2009 at 7:24 PM, Thomas Binder<thmsbinder <at> gmail.com> wrote:
> Hi,
>
> there are one or two threads around on this topic, they were of no
> help to me so far. Here is a short description of my problem:
>
> Setup:
>
> - I want/must use OpenEXR as dll with my own Windows XP 32 bit C++ application
> - I want/must use Visual Studio 2008 Standard Edition (VC9), SP1 is installed
> - I took the ilmbase 1.0.1, openexr 1.6.1 source code and converted
> the projects via the Visual Studio conversion wizardry
> - Was able to eliminate all undefined symbols, everything compiles and
> links fine.
>
> Problem:
>
> Consistent runtime error R6034 when loading OpenEXR dlls. Spelled out
> R6034 means that an application or dll has attempted to load the MSVC
> runtime without using a manifest.
>
> Indeed, my main application finds the runtime in
> C:\windows\winsxs\...., which is good, while the openexr dlls are
> looking in $PATH only. If I remove all MSVC*90.DLL from the path, the
> openexr dlls will not load.
>
> Remarks:
>
> I used mt.exe (manifest tool, unrelated to magnetic tape) to put the
> generated manifests into the dlls. Running mt works fine, and the XML
> is indeed incorporated into the dll. However, this does not change
> anything. Any dll is created via the createDLL linker wrapper, which I
> am currently looking at.
>
> Your input on this issue is really appreciated. The solution may be
> simple - my experience with things like this is limited.
>
> Thanks,
> Tom
>
>
> _______________________________________________
> Openexr-devel mailing list
> Openexr-devel <at> nongnu.org
>
RSS Feed