我想用cygwin编译OpenEXR,但我遇到了麻烦。在cygwin中编译OpenEXR
什么我迄今所做的:
cd ilmbase-X.X.X
./configure
make
make install
make check
我需要这个,因为它的OpenEXR需要它。它运行正常,并在/ usr/local三个文件夹中创建:bin
,include\OpenEXR
和lib
。
然后我继续OpenEXR的,这是我做的:
cd openexr-X.X.X
./configure
一切运行正常,但是当我做make
它给了我下面的错误:
b44ExpLogTable.cpp:52:18: half.h: No such file or directory
虽然我不是知道为什么发生这种情况,我可以做这个工作,围绕它:
./configure CPPFLAGS=-I/usr/local/include/OpenEXR
但日恩,当我打make
抛出另一个错误,我在这里stucked:
/usr/local/include/OpenEXR/half.h:511: undefined reference to `half::_toFloat'
/usr/local/include/OpenEXR/half.h:511: undefined reference to `half::_toFloat'
/usr/local/include/OpenEXR/half.h:481: undefined reference to `half::_eLut'
/usr/local/include/OpenEXR/half.h:511: undefined reference to `half::_toFloat'
/usr/local/include/OpenEXR/half.h:511: undefined reference to `half::_toFloat'
/usr/local/include/OpenEXR/half.h:481: undefined reference to `half::_eLut'
/usr/local/include/OpenEXR/half.h:499: undefined reference to `half::convert(int)'
/usr/local/include/OpenEXR/half.h:481: undefined reference to `half::_eLut'
/usr/local/include/OpenEXR/half.h:499: undefined reference to `half::convert(int)'
/usr/local/include/OpenEXR/half.h:499: undefined reference to `half::convert(int)'
collect2: ld returned 1 exit status
<builtin>: recipe for target `b44ExpLogTable' failed
make[1]: *** [b44ExpLogTable] Error 1
make[1]: Leaving directory `/home/Andre/openexr-1.6.1/IlmImf'
Makefile:313: recipe for target `all-recursive' failed
make: *** [all-recursive] Error 1
是否发生了这种事情的人?我已经搜索了很多,我找不到解决方案。我希望有人能帮帮忙。
感谢;)我不知道为什么会这样,但现在解决 – 2012-04-11 17:07:41
只是提醒大家有没有发现,请特别注意此处指定的文件(cygHalf-6.dll)。这可能是一个不同的版本号,所以找到该文件并获得正确的文件名。 – 2014-02-07 21:49:46