Houdini很早就支持了Ogawa修壕,maya2016也支持了Ogawa,而且Ogawa速度比HDF5快瞬逊,而且占用空間小哎媚。
如果只需要導(dǎo)出Ogawa格式的abc的話(huà),直接編譯OPENEXR理盆,ALEMBIC就行了。但是有些項(xiàng)目還是需要用到HDF5格式的abc凑阶,下面是編譯過(guò)程猿规。
由于HOUDINI和MAYA都有ALEMBIC的動(dòng)態(tài)庫(kù),那么我們寫(xiě)的材質(zhì)或者程序要調(diào)用的話(huà)宙橱,會(huì)和軟件本身的動(dòng)態(tài)庫(kù)沖突姨俩,所以選擇編譯靜態(tài)版本,以便調(diào)用师郑。
下載源碼环葵,
alembic
https://github.com/alembic/alembic
openexr
https://github.com/openexr/openexr
HDF5
https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-1.8.9/bin/linux-x86_64/
目前alembic不支持hdf5-1.8.9之后的版本,要編譯alembic靜態(tài)庫(kù)宝冕,要先編譯OPENEXR靜態(tài)庫(kù)张遭。
OPENEXR只需要編譯IlmBase就可以了,
進(jìn)入 openexr-develop/IlmBase
bootstrap
./configure --prefix=IlmBaseResultPath -enable-static --enable-shared=no --with-pic
make -j 56
make install
make clear
這個(gè)階段基本不會(huì)出現(xiàn)問(wèn)題猬仁。
下載HDF5靜態(tài)版帝璧,解壓,
然后編譯alembic
cmake alembicSourcePath -DALEMBIC_SHARED_LIBS=OFF -DHDF5_ROOT=HTF5Path -DUSE_HDF5=ON -DUSE_MAYA=OFF -DALEMBIC_LIB_USES_TR1=ON -DCMAKE_INSTALL_PREFIX= alembicResultPath -DILMBASE_ROOT=IlmBaseResultPath
這里需要注意湿刽,-DHDF5_ROOT,官方給的是-DHDF_ROOT褐耳,如果用官方的诈闺,那么你就走遠(yuǎn)了,
undefined reference to `pthread_create' //這個(gè)錯(cuò)報(bào)的我想尿
铃芦,在/alembic-master/cmake/AlembicHDF5.cmake寫(xiě)的很清楚用的 -DHDF5_ROOT雅镊,果斷爬了半天坑。
然后
make -j 56
make install
make clear
沒(méi)有錯(cuò)誤刃滓,那么恭喜仁烹,你直接可以調(diào)用alembic的庫(kù)了。
由于我升級(jí)了gcc(centos 升級(jí)到4.9.2)咧虎,出現(xiàn)了幾個(gè)錯(cuò)誤卓缰。
1.
--The CXX compiler identification is unknown
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- broken
這個(gè)是升級(jí)gcc,然后鏈接錯(cuò)誤,
查看gcc版本砰诵,然后把升級(jí)的 gcc c++ g++全部拷貝到 /usr/bin/下
/usr/lib/gcc也換了
然后
rm -f /usr/bin/cc
ln -s ./cc gcc
這樣做了征唬,還是報(bào)錯(cuò),
那么
cp -rf /usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.9.2 /usr/bin/
這樣就解決了茁彭。
2.
由于我們cmake時(shí)用了总寒,-DALEMBIC_LIB_USES_TR1=ON
tr1/memory: No such file or directory
直接拷貝
cp -rf /usr/local/include/c++/4.9.2 /usr/include/c++/