dubhater / vapoursynth-mvtools

Motion compensation and stuff
181 stars 27 forks source link

clang regression: caused by "Add ports of MDepan, DepanEstimate, and Depan" #27

Closed ilovezfs closed 8 years ago

ilovezfs commented 8 years ago

On macOS, this no longer compiles with clang, though it does still compile with gcc. The regression occurred in https://github.com/dubhater/vapoursynth-mvtools/commit/10c370e19968fef2235e17eb9bad6b3431d46697. When that commit is reverted, clang works again.

Here's what the build failure looks like:

==> make install
  CC       src/CopyCode.lo
  CC       src/CPU.lo
  CXX      src/DCTFFTW.lo
  CC       src/EntryPoint.lo
  CC       src/Fakery.lo
  CC       src/GroupOfPlanes.lo
  CC       src/Luma.lo
  CC       src/MaskFun.lo
  CC       src/MVAnalyse.lo
  CC       src/MVAnalysisData.lo
  CC       src/MVBlockFPS.lo
  CC       src/MVCompensate.lo
  CXX      src/MVDegrains.lo
  CXX      src/MVDepan.lo
  CC       src/MVFinest.lo
  CC       src/MVFlowBlur.lo
src/MVDepan.cpp:611:34: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >'
            vsapi->setError(out, std::string("DepanAnalyse: failed to invoke text.FrameProps: ").append(vsapi->getError(out)).c_str());
                                 ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:193:33: note: template is declared here
    class _LIBCPP_TYPE_VIS_ONLY basic_string;
                                ^
src/MVDepan.cpp:1485:30: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >'
        vsapi->setError(out, std::string("DepanEstimate: failed to invoke std.Cache: ").append(vsapi->getError(ret)).c_str());
                             ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:193:33: note: template is declared here
    class _LIBCPP_TYPE_VIS_ONLY basic_string;
                                ^
src/MVDepan.cpp:1514:30: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >'
        vsapi->setError(out, std::string("DepanEstimate: failed to invoke std.Cache: ").append(vsapi->getError(ret)).c_str());
                             ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:193:33: note: template is declared here
    class _LIBCPP_TYPE_VIS_ONLY basic_string;
                                ^
src/MVDepan.cpp:1536:34: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >'
            vsapi->setError(out, std::string("DepanEstimate: failed to invoke text.FrameProps: ").append(vsapi->getError(out)).c_str());
                                 ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:193:33: note: template is declared here
    class _LIBCPP_TYPE_VIS_ONLY basic_string;
                                ^
src/MVDepan.cpp:2921:34: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >'
            vsapi->setError(out, std::string("DepanCompensate: failed to invoke text.FrameProps: ").append(vsapi->getError(out)).c_str());
                                 ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:193:33: note: template is declared here
    class _LIBCPP_TYPE_VIS_ONLY basic_string;
                                ^
src/MVDepan.cpp:4254:34: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >'
            vsapi->setError(out, std::string("DepanStabilise: failed to invoke text.FrameProps: ").append(vsapi->getError(out)).c_str());
                                 ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:193:33: note: template is declared here
    class _LIBCPP_TYPE_VIS_ONLY basic_string;
                                ^
6 errors generated.
make: *** [src/MVDepan.lo] Error 1
make: *** Waiting for unfinished jobs....
ilovezfs commented 8 years ago

@dubhater Thanks!