alembic static lib support HDF5

Houdini很早就支持了Ogawa,maya2016也支持了Ogawa,而且Ogawa速度比HDF5快,而且占用空間小。

如果只需要導(dǎo)出Ogawa格式的abc的話,直接編譯OPENEXR,ALEMBIC就行了。但是有些項(xiàng)目還是需要用到HDF5格式的abc,下面是編譯過程。

由于HOUDINI和MAYA都有ALEMBIC的動(dòng)態(tài)庫,那么我們寫的材質(zhì)或者程序要調(diào)用的話,會(huì)和軟件本身的動(dòng)態(tài)庫沖突,所以選擇編譯靜態(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)庫,要先編譯OPENEXR靜態(tài)庫。

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)問題。

下載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寫的很清楚用的 -DHDF5_ROOT,果斷爬了半天坑。

然后

make -j 56

make install

make clear

沒有錯(cuò)誤,那么恭喜,你直接可以調(diào)用alembic的庫了。

由于我升級(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++/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容