我想用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