中文第一计算机图形学社区OpenGPU 版权所有2007-2018

 找回密码
 注册

扫一扫,访问微社区

搜索
查看: 59|回复: 1

Klayge在OSX上的编译问题

[复制链接]
发表于 2018-5-17 16:19:35 | 显示全部楼层 |阅读模式
Klayge版本:4.12和4.11, python版本:3.6.5,cmake版本3.10.2,按照WIKI,下载了[size=12.800000190734863px]xquartz和wine。调用build_all.py。但在编译boost库时,编译错误如下:
CompileC /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/Objects-normal/x86_64/debug.o /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/libs/test/src/debug.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
    cd /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake
    export LANG=en_US.US-ASCII
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=181 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -Wno-trigraphs -fpascal-strings -O0 -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-return-type -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wno-float-conversion -Wno-non-literal-null-conversion -Wno-objc-literal-conversion -Wno-shorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DCMAKE_INTDIR=\"Debug\" -Dunit_test_framework_EXPORTS -DUNICODE -D_UNICODE -DBOOST_ALL_DYN_LINK=1 -DBOOST_TEST_DYN_LINK=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.13 -g -Wno-sign-conversion -Wno-infinite-recursion -Wno-move -Wno-comma -Wno-block-capture-autoreleasing -Wno-strict-prototypes -Wno-range-loop-analysis -I/Users/zhoupengfei/Work/KlayGE-4.11/KlayGE/bin/darwin_x64/include -I/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../.. -I/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/DerivedSources/x86_64 -I/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/DerivedSources -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -F/Users/zhoupengfei/Work/KlayGE-4.11/KlayGE/bin/darwin_x64 -W -Wall -Werror -march=core2 -msse2 -std=c++1z -Wno-inconsistent-missing-override -m64 -Wno-error -DDEBUG -frtti -fPIC -MMD -MT dependencies -MF /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/Objects-normal/x86_64/debug.d --serialize-diagnostics /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/Objects-normal/x86_64/debug.dia -c /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/libs/test/src/debug.cpp -o /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/Objects-normal/x86_64/debug.o
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/libs/test/src/debug.cpp:16:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/impl/debug.ipp:23:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/debug.hpp:22:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/function/function1.hpp:11:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/function/detail/maybe_include.hpp:18:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/function/function_template.hpp:13:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/function/detail/prologue.hpp:18:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/mem_fn.hpp:22:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/bind/mem_fn.hpp:25:
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:48:23: error: redefinition of 'get_pointer' as different kind of symbol
template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                      ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:20:23: note: previous definition is here
template<class T> T * get_pointer(T * p)
                      ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:48:40: error: no member named 'auto_ptr' in namespace 'std'
template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                                  ~~~~~^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:48:49: error: 'T' does not refer to a value
template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                                                ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:48:16: note: declared here
template<class T> T * get_pointer(std::auto_ptr<T> const& p)
               ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:48:52: error: expected expression
template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                                                   ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:48:61: error: expected ';' at end of declaration
template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                                                            ^
                                                            ;
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:49:1: error: expected unqualified-id
{
^
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/libs/test/src/debug.cpp:16:
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/impl/debug.ipp:779:23: warning: unused parameter 'break_or_continue' [-Wunused-parameter]
attach_debugger( bool break_or_continue )
                      ^
1 warning and 6 errors generated.

CompileC /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/Objects-normal/x86_64/decorator.o /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/libs/test/src/decorator.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
    cd /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake
    export LANG=en_US.US-ASCII
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=181 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -Wno-trigraphs -fpascal-strings -O0 -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-return-type -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wno-float-conversion -Wno-non-literal-null-conversion -Wno-objc-literal-conversion -Wno-shorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DCMAKE_INTDIR=\"Debug\" -Dunit_test_framework_EXPORTS -DUNICODE -D_UNICODE -DBOOST_ALL_DYN_LINK=1 -DBOOST_TEST_DYN_LINK=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.13 -g -Wno-sign-conversion -Wno-infinite-recursion -Wno-move -Wno-comma -Wno-block-capture-autoreleasing -Wno-strict-prototypes -Wno-range-loop-analysis -I/Users/zhoupengfei/Work/KlayGE-4.11/KlayGE/bin/darwin_x64/include -I/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../.. -I/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/DerivedSources/x86_64 -I/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/DerivedSources -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -F/Users/zhoupengfei/Work/KlayGE-4.11/KlayGE/bin/darwin_x64 -W -Wall -Werror -march=core2 -msse2 -std=c++1z -Wno-inconsistent-missing-override -m64 -Wno-error -DDEBUG -frtti -fPIC -MMD -MT dependencies -MF /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/Objects-normal/x86_64/decorator.d --serialize-diagnostics /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/Objects-normal/x86_64/decorator.dia -c /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/libs/test/src/decorator.cpp -o /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/Objects-normal/x86_64/decorator.o
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/libs/test/src/decorator.cpp:16:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/impl/decorator.ipp:19:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/tree/decorator.hpp:22:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/tree/fixture.hpp:22:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/shared_ptr.hpp:17:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:28:
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/detail/shared_count.hpp:348:33: error: no template named 'auto_ptr' in namespace 'std'
    explicit shared_count( std::auto_ptr<Y> & r ): pi_( new sp_counted_impl_p<Y>( r.get() ) )
                           ~~~~~^
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/libs/test/src/decorator.cpp:16:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/impl/decorator.ipp:19:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/tree/decorator.hpp:22:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/tree/fixture.hpp:22:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/shared_ptr.hpp:17:
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:256:65: error: no member named 'auto_ptr' in namespace 'std'
template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
                                                           ~~~~~^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:256:75: error: 'T' does not refer to a value
template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
                                                                          ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:256:17: note: declared here
template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
                ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:256:81: error: expected ';' at end of declaration
template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
                                                                                ^
                                                                                ;
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:256:82: error: expected unqualified-id
template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
                                                                                 ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:455:31: error: no template named 'auto_ptr' in namespace 'std'
    explicit shared_ptr( std::auto_ptr<Y> & r ): px(r.get()), pn()
                         ~~~~~^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:468:22: error: no template named 'auto_ptr' in namespace 'std'
    shared_ptr( std::auto_ptr<Y> && r ): px(r.get()), pn()
                ~~~~~^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:545:34: error: no template named 'auto_ptr' in namespace 'std'
    shared_ptr & operator=( std::auto_ptr<Y> & r )
                            ~~~~~^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:554:34: error: no template named 'auto_ptr' in namespace 'std'
    shared_ptr & operator=( std::auto_ptr<Y> && r )
                            ~~~~~^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:556:38: error: no template named 'auto_ptr' in namespace 'std'
        this_type( static_cast< std::auto_ptr<Y> && >( r ) ).swap( *this );
                                ~~~~~^
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/libs/test/src/decorator.cpp:16:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/impl/decorator.ipp:19:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/tree/decorator.hpp:22:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/tree/fixture.hpp:23:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/scoped_ptr.hpp:14:
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/scoped_ptr.hpp:75:31: error: no template named 'auto_ptr' in namespace 'std'
    explicit scoped_ptr( std::auto_ptr<T> p ) BOOST_NOEXCEPT : px( p.release() )
                         ~~~~~^


CompileC /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/Objects-normal/x86_64/execution_monitor.o /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/libs/test/src/execution_monitor.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
    cd /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake
    export LANG=en_US.US-ASCII
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=181 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -Wno-trigraphs -fpascal-strings -O0 -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-return-type -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wno-float-conversion -Wno-non-literal-null-conversion -Wno-objc-literal-conversion -Wno-shorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DCMAKE_INTDIR=\"Debug\" -Dunit_test_framework_EXPORTS -DUNICODE -D_UNICODE -DBOOST_ALL_DYN_LINK=1 -DBOOST_TEST_DYN_LINK=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.13 -g -Wno-sign-conversion -Wno-infinite-recursion -Wno-move -Wno-comma -Wno-block-capture-autoreleasing -Wno-strict-prototypes -Wno-range-loop-analysis -I/Users/zhoupengfei/Work/KlayGE-4.11/KlayGE/bin/darwin_x64/include -I/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../.. -I/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/DerivedSources/x86_64 -I/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/DerivedSources -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -F/Users/zhoupengfei/Work/KlayGE-4.11/KlayGE/bin/darwin_x64 -W -Wall -Werror -march=core2 -msse2 -std=c++1z -Wno-inconsistent-missing-override -m64 -Wno-error -DDEBUG -frtti -fPIC -MMD -MT dependencies -MF /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/Objects-normal/x86_64/execution_monitor.d --serialize-diagnostics /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/Objects-normal/x86_64/execution_monitor.dia -c /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/libs/test/src/execution_monitor.cpp -o /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/xcode_clang91_darwin_x64/test/boost.build/Debug/unit_test_framework.build/Objects-normal/x86_64/execution_monitor.o
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/libs/test/src/execution_monitor.cpp:16:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/impl/execution_monitor.ipp:28:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/execution_monitor.hpp:24:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/shared_ptr.hpp:17:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:28:
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/detail/shared_count.hpp:348:33: error: no template named 'auto_ptr' in namespace 'std'
    explicit shared_count( std::auto_ptr<Y> & r ): pi_( new sp_counted_impl_p<Y>( r.get() ) )
                           ~~~~~^
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/libs/test/src/execution_monitor.cpp:16:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/impl/execution_monitor.ipp:28:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/execution_monitor.hpp:24:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/shared_ptr.hpp:17:
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:256:65: error: no member named 'auto_ptr' in namespace 'std'
template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
                                                           ~~~~~^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:256:75: error: 'T' does not refer to a value
template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
                                                                          ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:256:17: note: declared here
template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
                ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:256:81: error: expected ';' at end of declaration
template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
                                                                                ^
                                                                                ;
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:256:82: error: expected unqualified-id
template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
                                                                                 ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:455:31: error: no template named 'auto_ptr' in namespace 'std'
    explicit shared_ptr( std::auto_ptr<Y> & r ): px(r.get()), pn()
                         ~~~~~^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:468:22: error: no template named 'auto_ptr' in namespace 'std'
    shared_ptr( std::auto_ptr<Y> && r ): px(r.get()), pn()
                ~~~~~^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:545:34: error: no template named 'auto_ptr' in namespace 'std'
    shared_ptr & operator=( std::auto_ptr<Y> & r )
                            ~~~~~^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:554:34: error: no template named 'auto_ptr' in namespace 'std'
    shared_ptr & operator=( std::auto_ptr<Y> && r )
                            ~~~~~^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/smart_ptr/shared_ptr.hpp:556:38: error: no template named 'auto_ptr' in namespace 'std'
        this_type( static_cast< std::auto_ptr<Y> && >( r ) ).swap( *this );
                                ~~~~~^
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/libs/test/src/execution_monitor.cpp:16:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/impl/execution_monitor.ipp:28:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/test/execution_monitor.hpp:28:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/function/function0.hpp:11:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/function/detail/maybe_include.hpp:13:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/function/function_template.hpp:13:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/function/detail/prologue.hpp:18:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/mem_fn.hpp:22:
In file included from /Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/bind/mem_fn.hpp:25:
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:48:23: error: redefinition of 'get_pointer' as different kind of symbol
template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                      ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:20:23: note: previous definition is here
template<class T> T * get_pointer(T * p)
                      ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:48:40: error: no member named 'auto_ptr' in namespace 'std'
template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                                  ~~~~~^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:48:49: error: 'T' does not refer to a value
template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                                                ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:48:16: note: declared here
template<class T> T * get_pointer(std::auto_ptr<T> const& p)
               ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:48:52: error: expected expression
template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                                                   ^
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:48:61: error: expected ';' at end of declaration
template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                                                            ^
                                                            ;
/Users/zhoupengfei/Work/KlayGE-4.11/External/boost/Build/cmake/../../boost/get_pointer.hpp:49:1: error: expected unqualified-id
{
^


** BUILD FAILED **
有人知道这个问题怎么解决吗?在论坛逛了一圈,没有人遇到这种问题吗?



 楼主| 发表于 2018-5-18 15:34:14 | 显示全部楼层
已解决,原因是C++17将auto_ptr的特性去除了,需要CMakeLists.txt中添加ADD_DEFINITIONS(-D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR),重新启用auto_ptr。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|小黑屋|Archiver|手机版|中文第一计算机图形学社区OpenGPU

GMT+8, 2018-5-27 00:04 , Processed in 0.056780 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表