Nico Ritsche | 2 Jan 12:29
Favicon
Nico Ritsche <Nico.Ritsche <at> imgtec.com>

Subject: Problem compiling my openexr code

Problem compiling my openexr code

Hi everybody,
 
I don't know if this is the right place to ask, but I couldn't find an openEXR developer forum on the web yet.
I have a problem compiling my program with VC 2005 using the openEXR librarys. I get some unresolved
externals when trying to use this code which is basically the code from one of the image loading examples:
 

RgbaInputFile file( ".\\HDR\\Ocean.exr" );

Box2i dw = file.dataWindow();

int width = dw.max.x - dw.min.x + 1;

int height = dw.max.y - dw.min.y + 1;

Array2D<Rgba> pixels;

pixels.resizeErase( height, width );

file.setFrameBuffer ( &pixels[0][0] - dw.min.x - dw.min.y * width, 1, width );

file.readPixels ( dw.min.y, dw.max.y );

 

These errors I get:

myprogram.obj : error LNK2001: unresolved external symbol "int __cdecl Imf::globalThreadCount(void)" (?globalThreadCount <at> Imf <at> <at> YAHXZ)

myprogram.obj : error LNK2001: unresolved external symbol "public: class Imath::Box<class Imath::Vec2<int> > const & __thiscall Imf::RgbaInputFile::dataWindow(void)const " (?dataWindow <at> RgbaInputFile <at> Imf <at> <at> QBEABV?$Box <at> V?$Vec2 <at> H <at> Imath <at> <at> <at> Imath <at> <at> XZ)

myprogram.obj : error LNK2001: unresolved external symbol "public: void __thiscall Imf::RgbaInputFile::readPixels(int,int)" (?readPixels <at> RgbaInputFile <at> Imf <at> <at> QAEXHH <at> Z)

myprogram.obj : error LNK2001: unresolved external symbol "public: void __thiscall Imf::RgbaInputFile::setFrameBuffer(struct Imf::Rgba *,unsigned int,unsigned int)" (?setFrameBuffer <at> RgbaInputFile <at> Imf <at> <at> QAEXPAURgba <at> 2 <at> II <at> Z)

myprogram.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall Imf::RgbaInputFile::~RgbaInputFile(void)" (??1RgbaInputFile <at> Imf <at> <at> UAE <at> XZ)

myprogram.obj : error LNK2001: unresolved external symbol "public: __thiscall Imf::RgbaInputFile::RgbaInputFile(char const * const,int)" (??0RgbaInputFile <at> Imf <at> <at> QAE <at> QBDH <at> Z)

 

I was't able yet to locate the problem. Any libs missing?

I would highly appreciate any help or links to suitable forums.

 

Thanks,

Nico

 

 



-
This message is subject to Imagination Technologies' e-mail terms: http://www.imgtec.com/e-mail.htm
-
_______________________________________________
Openexr-devel mailing list
Openexr-devel <at> nongnu.org
http://lists.nongnu.org/mailman/listinfo/openexr-devel
Nico Ritsche | 3 Jan 16:18
Favicon
Nico Ritsche <Nico.Ritsche <at> imgtec.com>

Subject: Problem compiling my openexr code solved

Problem compiling my openexr code solved

Solved the problem. Didn't set all the necessary libs in the project - so the usual mistake. ;-)
 

From: Nico Ritsche
Sent: 02 January 2007 11:30
To: 'openexr-devel <at> nongnu.org'
Subject: Problem compiling my openexr code

Hi everybody,
 
I don't know if this is the right place to ask, but I couldn't find an openEXR developer forum on the web yet.
I have a problem compiling my program with VC 2005 using the openEXR librarys. I get some unresolved
externals when trying to use this code which is basically the code from one of the image loading examples:
 

RgbaInputFile file( ".\\HDR\\Ocean.exr" );

Box2i dw = file.dataWindow();

int width = dw.max.x - dw.min.x + 1;

int height = dw.max.y - dw.min.y + 1;

Array2D<Rgba> pixels;

pixels.resizeErase( height, width );

file.setFrameBuffer ( &pixels[0][0] - dw.min.x - dw.min.y * width, 1, width );

file.readPixels ( dw.min.y, dw.max.y );

 

These errors I get:

myprogram.obj : error LNK2001: unresolved external symbol "int __cdecl Imf::globalThreadCount(void)" (?globalThreadCount <at> Imf <at> <at> YAHXZ)

myprogram.obj : error LNK2001: unresolved external symbol "public: class Imath::Box<class Imath::Vec2<int> > const & __thiscall Imf::RgbaInputFile::dataWindow(void)const " (?dataWindow <at> RgbaInputFile <at> Imf <at> <at> QBEABV?$Box <at> V?$Vec2 <at> H <at> Imath <at> <at> <at> Imath <at> <at> XZ)

myprogram.obj : error LNK2001: unresolved external symbol "public: void __thiscall Imf::RgbaInputFile::readPixels(int,int)" (?readPixels <at> RgbaInputFile <at> Imf <at> <at> QAEXHH <at> Z)

myprogram.obj : error LNK2001: unresolved external symbol "public: void __thiscall Imf::RgbaInputFile::setFrameBuffer(struct Imf::Rgba *,unsigned int,unsigned int)" (?setFrameBuffer <at> RgbaInputFile <at> Imf <at> <at> QAEXPAURgba <at> 2 <at> II <at> Z)

myprogram.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall Imf::RgbaInputFile::~RgbaInputFile(void)" (??1RgbaInputFile <at> Imf <at> <at> UAE <at> XZ)

myprogram.obj : error LNK2001: unresolved external symbol "public: __thiscall Imf::RgbaInputFile::RgbaInputFile(char const * const,int)" (??0RgbaInputFile <at> Imf <at> <at> QAE <at> QBDH <at> Z)

 

I was't able yet to locate the problem. Any libs missing?

I would highly appreciate any help or links to suitable forums.

 

Thanks,

Nico

 

 



-
This message is subject to Imagination Technologies' e-mail terms: http://www.imgtec.com/e-mail.htm
-
_______________________________________________
Openexr-devel mailing list
Openexr-devel <at> nongnu.org
http://lists.nongnu.org/mailman/listinfo/openexr-devel
Bruce Johnson | 6 Jan 07:56
Picon

Re: full 32 bit per channel exr images

Doesn't libtiff support 32 bit floats as a tiff image?

On 1/5/07, Nico Ritsche <Nico.Ritsche <at> imgtec.com> wrote:
>
>
> I'm desperately looking for HDR images using the full 32 bit float range.
> Such images should be possible with the exr format, hm? Or is it limited to
> store images using the half format? Can anybody help?
>
> Regards,
> Nico
>
>
>
>
> -
> This message is subject to Imagination Technologies' e-mail terms: http://www.imgtec.com/e-mail.htm
>  -
> _______________________________________________
> Openexr-devel mailing list
> Openexr-devel <at> nongnu.org
> http://lists.nongnu.org/mailman/listinfo/openexr-devel
>
>
>
Kai-Uwe Behrmann | 6 Jan 08:17
Picon
Picon

Re: full 32 bit per channel exr images

Am 06.01.2007 um 07:56 schrieb Bruce Johnson:

> Doesn't libtiff support 32 bit floats as a tiff image?

Yes and OpenEXR too. OpenEXR allowes as well mixed data types. So they 
do
not fit each other everytime.

regards,
Kai-Uwe Behrmann

> On 1/5/07, Nico Ritsche <Nico.Ritsche <at> imgtec.com> wrote:
>>
>>
>> I'm desperately looking for HDR images using the full 32 bit float 
>> range.
>> Such images should be possible with the exr format, hm? Or is it 
>> limited to
>> store images using the half format? Can anybody help?
>>
>> Regards,
>> Nico
Nico Ritsche | 5 Jan 16:03
Favicon
Nico Ritsche <Nico.Ritsche <at> imgtec.com>

Subject: full 32 bit per channel exr images

full 32 bit per channel exr images

I'm desperately looking for HDR images using the full 32 bit float range.
Such images should be possible with the exr format, hm? Or is it limited to
store images using the half format? Can anybody help?
 
Regards,
Nico
 
 



-
This message is subject to Imagination Technologies' e-mail terms: http://www.imgtec.com/e-mail.htm
-
_______________________________________________
Openexr-devel mailing list
Openexr-devel <at> nongnu.org
http://lists.nongnu.org/mailman/listinfo/openexr-devel
Dave Jarvis | 8 Jan 09:15

OpenEXR 1.4.0a

Hi,

There seems to be an oversight in the headers for OpenEXR.

 From /usr/local/include/OpenEXR/
	ImfIO.h
	ImfChannelList.h
	ImfInputFile.h
	ImfCompressionAttribute.h

These files have the following:

#include <ImfInt64.h>

#include <ImfName.h>
#include <ImfPixelType.h>

... etc.

However, since <>'s are used to indicate standard library directories 
(e.g., /usr/include and /usr/local/include), they do not refer to 
/usr/local/include/OpenEXR. Compiling applications at this point will 
fail. (I am trying to compile Blender 2.42a and have hit a roadblock.)

I recommend changing them to the following:

#include "ImfInt64.h"

#include "ImfName.h"
#include "ImfPixelType.h"

... etc.

Whereby the ""'s indicates to include from the same directory, and thus 
can find its own header files. (After making these changes myself, the 
include files could be found.)

Kind regards,
Dave Jarvis

P.S.
For what it's worth, here are some of the error messages:

In file included from 
source/blender/imbuf/intern/openexr/openexr_api.cpp:73:
/usr/local/include/OpenEXR/ImfInputFile.h:46:23: error: ImfHeader.h: No 
such file or directory
/usr/local/include/OpenEXR/ImfInputFile.h:47:28: error: 
ImfFrameBuffer.h: No such file or directory
/usr/local/include/OpenEXR/ImfInputFile.h:48:32: error: 
ImfTiledOutputFile.h: No such file or directory
/usr/local/include/OpenEXR/ImfInputFile.h:51:26: error: ImfThreading.h: 
No such file or directory
In file included from 
source/blender/imbuf/intern/openexr/openexr_api.cpp:76:
/usr/local/include/OpenEXR/ImfCompressionAttribute.h:46:26: error: 
ImfAttribute.h: No such file or directory
/usr/local/include/OpenEXR/ImfCompressionAttribute.h:47:28: error: 
ImfCompression.h: No such file or directory
Nigel Jenkins | 8 Jan 11:55
Picon

exrdisplay compliation fails

Hi All

I'm trying to get the display apps to compile on my laptop which has a 
fresh ubuntu 6.06 install on it.
I tried Openexr 1.4 first and it failed so thought I'd try the 1.5 
version, and I get the same issue (see gcc output below).  The base and 
main libraries appear to install and work ok, its just the display app 
that is failing.

It looks like a gcc issue to me, is there a preferred gcc version that I 
should be using, or I'm I missing something in the configuration that 
I'm too dim to spot!

many thanks

Nigel

make[1]: Entering directory `/disk/OPENEXR/openexr_viewers-0.9.0/exrdisplay'
if g++ -DHAVE_CONFIG_H -I. -I. -I../config -I/usr/local/include 
-Dbool=char -Dfalse=0 -Dtrue=1 -I.. -pthread 
-I/usr/local/include/OpenEXR -DHAVE_CTL_INTERPRETER=0   -pipe -g -O2 -MT 
main.o -MD -MP -MF ".deps/main.Tpo" -c -o main.o main.cpp; \
         then mv -f ".deps/main.Tpo" ".deps/main.Po"; else rm -f 
".deps/main.Tpo"; exit 1;
fi
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/cpp_type_traits.h:178: 
error: redefinition of ‘struct
std::__is_integer<char>’
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/cpp_type_traits.h:172: 
error: previous definition of ‘struct std::__is_integer<char>’
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/limits:369: 
error: redefinition of ‘struct std::numeric_limits<char>’
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/limits:316: 
error: previous definition of ‘struct std::numeric_limits<char>’
make[1]: *** [main.o] Error 1
make[1]: Leaving directory `/disk/OPENEXR/openexr_viewers-0.9.0/exrdisplay'
make: *** [all-recursive] Error 1
Rex Dieter | 8 Jan 16:32
Favicon
Gravatar

Re: OpenEXR 1.4.0a

Dave Jarvis wrote:

> There seems to be an oversight in the headers for OpenEXR.
> 
>  From /usr/local/include/OpenEXR/
> ImfIO.h
> ImfChannelList.h
> ImfInputFile.h
> ImfCompressionAttribute.h
> 
> These files have the following:
> 
> #include <ImfInt64.h>
> 
> #include <ImfName.h>
> #include <ImfPixelType.h>
> 
> ... etc.
> 
> However, since <>'s are used to indicate standard library directories
> (e.g., /usr/include and /usr/local/include), they do not refer to
> /usr/local/include/OpenEXR.

WORKSFORME, since
$ pkg-config --cflags OpenEXR
-I/usr/include/OpenEXR

Does your build not include -I/usr/local/include/OpenEXR ?

-- Rex
John RA Benson | 8 Jan 18:45

Congrats!

Hey there Florian -

Congrats!

http://www.hollywoodreporter.com/hr/content_display/film/news/e3i359161611ed1086e14c54b6d19ce9e5b

jrab
_______________________________________________
Openexr-devel mailing list
Openexr-devel <at> nongnu.org
http://lists.nongnu.org/mailman/listinfo/openexr-devel
Florian Kainz | 10 Jan 00:44

Re: exrdisplay compliation fails

I haven't tried 4.0.3, but OpenEXR does compile with a variety
of different versions of gcc.  Versions 3.0 and later should
work.  The error you are getting does look like a problem with
the either the limits header or the bits/cpp_type_traits.h
header file.

You may want to take a look at file config/OpenEXRConfig.h
in your OpenEXR source directory, and check if it defines any
macros that are referenced in limits or bits/cpp_type_traits.h.

Florian

Nigel Jenkins wrote:
> Hi All
> 
> I'm trying to get the display apps to compile on my laptop which has a 
> fresh ubuntu 6.06 install on it.
> I tried Openexr 1.4 first and it failed so thought I'd try the 1.5 
> version, and I get the same issue (see gcc output below).  The base and 
> main libraries appear to install and work ok, its just the display app 
> that is failing.
> 
> It looks like a gcc issue to me, is there a preferred gcc version that I 
> should be using, or I'm I missing something in the configuration that 
> I'm too dim to spot!
> 
> many thanks
> 
> Nigel
> 
> 
> 
> make[1]: Entering directory 
> `/disk/OPENEXR/openexr_viewers-0.9.0/exrdisplay'
> if g++ -DHAVE_CONFIG_H -I. -I. -I../config -I/usr/local/include 
> -Dbool=char -Dfalse=0 -Dtrue=1 -I.. -pthread 
> -I/usr/local/include/OpenEXR -DHAVE_CTL_INTERPRETER=0   -pipe -g -O2 -MT 
> main.o -MD -MP -MF ".deps/main.Tpo" -c -o main.o main.cpp; \
>         then mv -f ".deps/main.Tpo" ".deps/main.Po"; else rm -f 
> ".deps/main.Tpo"; exit 1; fi
>
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/cpp_type_traits.h:178: 
> error: redefinition of ‘struct std::__is_integer<char>’
>
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/cpp_type_traits.h:172: 
> error: previous definition of ‘struct std::__is_integer<char>’
> /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/limits:369: 
> error: redefinition of ‘struct std::numeric_limits<char>’
> /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/limits:316: 
> error: previous definition of ‘struct std::numeric_limits<char>’
> make[1]: *** [main.o] Error 1
> make[1]: Leaving directory `/disk/OPENEXR/openexr_viewers-0.9.0/exrdisplay'
> make: *** [all-recursive] Error 1
> 
> 
> 
> _______________________________________________
> Openexr-devel mailing list
> Openexr-devel <at> nongnu.org
> http://lists.nongnu.org/mailman/listinfo/openexr-devel
> 
> 

Gmane