打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
(原创)compile cortex-vfx on Ubuntu10.04
cortex-vfx-read-only, from svn

here are the bit and pieces that I needed to put onto a fresh install:

  • libilmbase-dev
  • libopenexr-dev
  • libtbb-dev
  • libboost-all-dev
  • libtiff4-dev
  • libpng12-dev
  • libjpeg62-dev
  • libfreetype6
  • libfreetype6-dev
  • libglut3-dev
  • freeglut3-dev
  • libglew1.5-dev
  • libglewmx1.5-dev
  • Maya2012
  • houdini11
  • Nuke6.3v2
  • python2.5

如何获得houdini_cxx_flags的内容?

cd /opt/[houdini_dir]/bin

./hcustom -c

即可得到flags的内容,之后添加 “-DDLLEXPORT= ”,注意与第二个flag之间有两个空格。

如果报错:找不到HFS,则先按照以下步骤执行:

cd /opt/[houdini_dir]

source houdini_setup

之后可以运行echo $HFS 查看。

here are my options for the scons build so far
(from the web,no use:

CXXFLAGS = ['-pipe', '-Wall', '-O2', '-DNDEBUG', '-DBOOST_DISABLE_ASS
ERTS']
TESTCXXFLAGS = ['-pipe', '-Wall', '-O0']
PYTHONCXXFLAGS = ['-pipe', '-Wall', '-O2', '-DNDEBUG', '-DBOOST_DISAB
LE_ASSERTS']
LINKFLAGS = [])

The following is my scons' options

scons BOOST_INCLUDE_PATH='/usr/local/include/boost-1_37' BOOST_LIB_PATH='/usr/local/lib' BOOST_LIB_SUFFIX='-gcc44-mt-1_37' OPENEXR_INCLUDE_PATH='/usr/include/OpenEXR' OPENEXR_LIB_PATH='/usr/lib' WITH_GL=True GLEW_LIB_PATH='/usr/lib' GLEW_INCLUDE_PATH='/usr/include/GL' GLUT_LIB_PATH='/usr/lib' GLUT_INCLUDE_PATH='/usr/include/GL' HOUDINI_ROOT='/opt/hfs11.1.201' HOUDINI_CXX_FLAGS='-DDLLEXPORT=  -DVERSION=\"11.1.201\" -D_GNU_SOURCE -DLINUX -DAMD64 -m64 -fPIC -DSIZEOF_VOID_P=8 -DSESI_LITTLE_ENDIAN -DENABLE_THREADS -DUSE_PTHREADS -D_REENTRANT -D_FILE_OFFSET_BITS=64 -c -DGCC4 -DGCC3 -Wno-deprecated -I/opt/hfs11.1.201/toolkit/include -I/opt/hfs11.1.201/toolkit/include/htools -Wall -W -Wno-parentheses -Wno-sign-compare -Wno-reorder -Wno-uninitialized -Wunused -Wno-unused-parameter -O2' FREETYPE_INCLUDE_PATH='/usr/include/freetype2' FREETYPE_LIB_PATH='/usr/lib' MAYA_ROOT='/usr/autodesk/maya' NUKE_ROOT='/usr/local/Nuke6.3v2' Doxygen='/usr/bin'



scons BOOST_INCLUDE_PATH='/usr/include' BOOST_LIB_PATH='/usr/lib' BOOST_LIB_SUFFIX='' OPENEXR_INCLUDE_PATH='/usr/include/OpenEXR' OPENEXR_LIB_PATH='/usr/lib' WITH_GL=True GLEW_LIB_PATH='/usr/lib' GLEW_INCLUDE_PATH='/usr/include/GL' GLUT_LIB_PATH='/usr/lib' GLUT_INCLUDE_PATH='/usr/include/GL' FREETYPE_INCLUDE_PATH='/usr/include/freetype2' FREETYPE_LIB_PATH='/usr/lib' MAYA_ROOT='/usr/autodesk/maya' NUKE_ROOT='/usr/local/Nuke6.3v2' HOUDINI_ROOT='/opt/hfs11.1.201' HOUDINI_CXX_FLAGS='-DDLLEXPORT=  -DVERSION=\"11.1.201\" -D_GNU_SOURCE -DLINUX -DAMD64 -m64 -fPIC -DSIZEOF_VOID_P=8 -DSESI_LITTLE_ENDIAN -DENABLE_THREADS -DUSE_PTHREADS -D_REENTRANT -D_FILE_OFFSET_BITS=64 -c -DGCC4 -DGCC3 -Wno-deprecated -I/opt/hfs11.1.201/toolkit/include -I/opt/hfs11.1.201/toolkit/include/htools -Wall -W -Wno-parentheses -Wno-sign-compare -Wno-reorder -Wno-uninitialized -Wunused -Wno-unused-parameter -O2' Doxygen='/usr/bin'


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


boost1.37

为增加Boost.Regex的unicode/icu支持,需先安装libicu-dev

boost.iostreams 需先安装zlib1g-dev,libbz2-dev

然后

./configure
make
checkinstall 或install

======================Bugs Fixed===================

(1)

I endup with the error:

include/IECore/MurmurHash.inl: In member function 'IECore::MurmurHash& IECore::MurmurHash::append(const char*)':
include/IECore/MurmurHash.inl:109: error: 'strlen' was not declared in this scope

That I fixed with adding #include <cstring> at
include/IECore/MurmurHash.h

=======================Warnings===========================
(1)
In file included from /usr/include/boost/python/object/function_handle.hpp:10,
                 from /usr/include/boost/python/converter/arg_to_python.hpp:19,
                 from /usr/include/boost/python/call.hpp:15,
                 from /usr/include/boost/python/object_core.hpp:12,
                 from /usr/include/boost/python/args.hpp:25,
                 from /usr/include/boost/python.hpp:11,
                 from src/IECorePython/ImagePrimitiveEvaluatorBinding.cpp:35:
include/IECore/IntrusivePtr.inl: In member function 'PyObject* boost::python::objects::caller_py_function_impl<Caller>::operator()(PyObject*, PyObject*) [with Caller = boost::python::detail::caller<char (IECore::ImagePrimitiveEvaluator::Result::*)(const IECore::PrimitiveVariable&)const, boost::python::default_call_policies, boost::mpl::vector3<char, IECore::ImagePrimitiveEvaluator::Result&, const IECore::PrimitiveVariable&> >]':
include/IECore/IntrusivePtr.inl:78: warning: dereferencing pointer 'p.1603' does break strict-aliasing rules
include/IECore/IntrusivePtr.inl:80: warning: dereferencing pointer 'p.1603' does break strict-aliasing rules
/usr/include/boost/python/detail/destroy.hpp:90: note: initialized from here
include/IECore/IntrusivePtr.inl: In member function 'PyObject* boost::python::objects::caller_py_function_impl<Caller>::operator()(PyObject*, PyObject*) [with Caller = boost::python::detail::caller<unsigned int (IECore::ImagePrimitiveEvaluator::Result::*)(const IECore::PrimitiveVariable&)const, boost::python::default_call_policies, boost::mpl::vector3<unsigned int, IECore::ImagePrimitiveEvaluator::Result&, const IECore::PrimitiveVariable&> >]':
include/IECore/IntrusivePtr.inl:78: warning: dereferencing pointer 'p.1603' does break strict-aliasing rules
include/IECore/IntrusivePtr.inl:80: warning: dereferencing pointer 'p.1603' does break strict-aliasing rules
/usr/include/boost/python/detail/destroy.hpp:90: note: initialized from here
include/IECore/IntrusivePtr.inl: In member function 'PyObject* boost::python::objects::caller_py_function_impl<Caller>::operator()(PyObject*, PyObject*) [with Caller = boost::python::detail::caller<short unsigned int (IECore::ImagePrimitiveEvaluator::Result::*)(const IECore::PrimitiveVariable&)const, boost::python::default_call_policies, boost::mpl::vector3<short unsigned int, IECore::ImagePrimitiveEvaluator::Result&, const IECore::PrimitiveVariable&> >]':
include/IECore/IntrusivePtr.inl:78: warning: dereferencing pointer 'p.1603' does break strict-aliasing rules
include/IECore/IntrusivePtr.inl:80: warning: dereferencing pointer 'p.1603' does break strict-aliasing rules
/usr/include/boost/python/detail/destroy.hpp:90: note: initialized from here
include/IECore/IntrusivePtr.inl: In member function 'PyObject* boost::python::objects::caller_py_function_impl<Caller>::operator()(PyObject*, PyObject*) [with Caller = boost::python::detail::caller<short int (IECore::ImagePrimitiveEvaluator::Result::*)(const IECore::PrimitiveVariable&)const, boost::python::default_call_policies, boost::mpl::vector3<short int, IECore::ImagePrimitiveEvaluator::Result&, const IECore::PrimitiveVariable&> >]':
include/IECore/IntrusivePtr.inl:78: warning: dereferencing pointer 'p.1603' does break strict-aliasing rules
include/IECore/IntrusivePtr.inl:80: warning: dereferencing pointer 'p.1603' does break strict-aliasing rules
/usr/include/boost/python/detail/destroy.hpp:90: note: initialized from here
include/IECore/IntrusivePtr.inl: In member function 'PyObject* boost::python::objects::caller_py_function_impl<Caller>::operator()(PyObject*, PyObject*) [with Caller = boost::python::detail::caller<unsigned char (IECore::ImagePrimitiveEvaluator::Result::*)(const IECore::PrimitiveVariable&)const, boost::python::default_call_policies, boost::mpl::vector3<unsigned char, IECore::ImagePrimitiveEvaluator::Result&, const IECore::PrimitiveVariable&> >]':
include/IECore/IntrusivePtr.inl:78: warning: dereferencing pointer 'p.1603' does break strict-aliasing rules
include/IECore/IntrusivePtr.inl:80: warning: dereferencing pointer 'p.1603' does break strict-aliasing rules
/usr/include/boost/python/detail/destroy.hpp:90: note: initialized from here
include/IECore/IntrusivePtr.inl: In member function 'PyObject* boost::python::objects::caller_py_function_impl<Caller>::operator()(PyObject*, PyObject*) [with Caller = boost::python::detail::caller<void (*)(PyObject*, IECore::IntrusivePtr<IECore::ImagePrimitive>), boost::python::default_call_policies, boost::mpl::vector3<void, PyObject*, IECore::IntrusivePtr<IECore::ImagePrimitive> > >]':
include/IECore/IntrusivePtr.inl:80: warning: dereferencing pointer 'p.1601' does break strict-aliasing rules
include/IECore/IntrusivePtr.inl:78: warning: dereferencing pointer 'p.1601' does break strict-aliasing rules
/usr/include/boost/python/detail/destroy.hpp:90: note: initialized from here
include/IECore/IntrusivePtr.inl:80: warning: dereferencing pointer 'p.1601' does break strict-aliasing rules
include/IECore/IntrusivePtr.inl:78: warning: dereferencing pointer 'p.1601' does break strict-aliasing rules
/usr/include/boost/python/detail/destroy.hpp:90: note: initialized from here

(2)
++ -o src/IECoreGL/ShaderManager.os -c -pipe -Wall -O2 -DNDEBUG -DBOOST_DISABLE_ASSERTS -fPIC -DIE_CORE_MAJORVERSION=7 -DIE_CORE_MINORVERSION=2 -DIE_CORE_PATCHVERSION=0 -DBOOST_FILESYSTEM_VERSION=2 -DIECORE_WITH_ASIO -DIECORE_WITH_SIGNALS -DIECORE_WITH_BOOSTFACTORIAL -DIECORE_WITH_TIFF -DIECORE_WITH_JPEG -DIECORE_WITH_PNG -DIECORE_WITH_FREETYPE -Iinclude -I/usr/local/include/tbb -I/usr/include/OpenEXR -I/usr/include/OpenEXR -I/usr/include/OpenEXR/OpenEXR -I/usr/include/OpenEXR/OpenEXR -I/usr/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/include/freetype2 -I/usr/include/GL -I/usr/include/GL src/IECoreGL/ShaderManager.cpp
In file included from /usr/include/boost/wave/util/macro_helpers.hpp:19,
                 from /usr/include/boost/wave/util/cpp_iterator.hpp:33,
                 from /usr/include/boost/wave/cpp_context.hpp:37,
                 from /usr/include/boost/wave.hpp:21,
                 from src/IECoreGL/ShaderManager.cpp:40:
In function 'void boost::wave::cpplexer::impl::validate_literal(const StringT&, int, int, const StringT&) [with StringT = boost::wave::util::impl::as_stringlit(const std::vector<IdT, std::allocator<_CharT> >&, typename std::vector<IdT, std::allocator<_CharT> >::size_type, const PositionT&) [with ContainerT = std::list<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > >, boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > >, boost::default_user_allocator_new_delete, boost::details::pool::pthread_mutex, 32u> >, PositionT = boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > >]::string_type]':
cc1plus: warning: dereferencing pointer '<anonymous>' does break strict-aliasing rules
/usr/include/boost/wave/util/flex_string.hpp:1243: note: initialized from here
cc1plus: warning: dereferencing pointer '<anonymous>' does break strict-aliasing rules
/usr/include/boost/wave/util/flex_string.hpp:1243: note: initialized from here
In file included from /usr/include/boost/wave/cpp_context.hpp:37,
                 from /usr/include/boost/wave.hpp:21,
                 from src/IECoreGL/ShaderManager.cpp:40:
In member function 'void boost::wave::impl::pp_iterator_functor<ContextT>::on_include(const typename boost::spirit::classic::tree_match<typename ContextT::lexer_type, typename boost::wave::grammars::cpp_grammar_gen<typename ContextT::lexer_type, typename ContextT::token_sequence_type>::node_factory_type, boost::spirit::classic::nil_t>::container_t::const_iterator&, const typename boost::spirit::classic::tree_match<typename ContextT::lexer_type, typename boost::wave::grammars::cpp_grammar_gen<typename ContextT::lexer_type, typename ContextT::token_sequence_type>::node_factory_type, boost::spirit::classic::nil_t>::container_t::const_iterator&, bool) [with ContextT = boost::wave::context<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::iteration_context_policies::load_file_to_string, boost::wave::context_policies::eat_whitespace<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::this_type>]':
cc1plus: warning: dereferencing pointer '<anonymous>' does break strict-aliasing rules
/usr/include/boost/wave/util/flex_string.hpp:1243: note: initialized from here
cc1plus: warning: dereferencing pointer '<anonymous>' does break strict-aliasing rules
/usr/include/boost/wave/util/flex_string.hpp:1243: note: initialized from here
cc1plus: warning: dereferencing pointer '<anonymous>' does break strict-aliasing rules
/usr/include/boost/wave/util/flex_string.hpp:1243: note: initialized from here


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
boost头文件
X is not a member of ''''cv''''异常解决
一个线程安全的std::map封装
124 f0408
八 智能指针类
BOOST 线程完全攻略 - 扩展 - 线程消息通讯
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服