美文网首页
alembic static lib support HDF5

alembic static lib support HDF5

作者: capcat | 来源:发表于2017-03-15 18:40 被阅读0次

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

    如果只需要导出Ogawa格式的abc的话,直接编译OPENEXR,ALEMBIC就行了。但是有些项目还是需要用到HDF5格式的abc,下面是编译过程。

    由于HOUDINI和MAYA都有ALEMBIC的动态库,那么我们写的材质或者程序要调用的话,会和软件本身的动态库冲突,所以选择编译静态版本,以便调用。

    下载源码,

    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静态库,要先编译OPENEXR静态库。

    OPENEXR只需要编译IlmBase就可以了,

    进入 openexr-develop/IlmBase

    bootstrap

    ./configure --prefix=IlmBaseResultPath -enable-static --enable-shared=no --with-pic

    make -j 56

    make install

    make clear

    这个阶段基本不会出现问题。

    下载HDF5静态版,解压,

    然后编译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,如果用官方的,那么你就走远了,

    undefined reference to `pthread_create' //这个错报的我想尿

    ,在/alembic-master/cmake/AlembicHDF5.cmake写的很清楚用的 -DHDF5_ROOT,果断爬了半天坑。

    然后

    make -j 56

    make install

    make clear

    没有错误,那么恭喜,你直接可以调用alembic的库了。

    由于我升级了gcc(centos 升级到4.9.2),出现了几个错误。

    1.

    --The CXX compiler identification is unknown

    -- Check for working C compiler: /usr/bin/cc

    -- Check for working C compiler: /usr/bin/cc -- broken

    这个是升级gcc,然后链接错误,

    查看gcc版本,然后把升级的 gcc c++ g++全部拷贝到 /usr/bin/下

    /usr/lib/gcc也换了

    然后

    rm -f /usr/bin/cc

    ln -s ./cc gcc

    这样做了,还是报错,

    那么

    cp -rf /usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.9.2 /usr/bin/

    这样就解决了。

    2.

    由于我们cmake时用了,-DALEMBIC_LIB_USES_TR1=ON

    tr1/memory: No such file or directory

    直接拷贝

    cp -rf /usr/local/include/c++/4.9.2 /usr/include/c++/

    相关文章

      网友评论

          本文标题:alembic static lib support HDF5

          本文链接:https://www.haomeiwen.com/subject/zmcmgttx.html