<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div><br></div><div>libvmaf.h does include '#include <memory>' as below</div><div><br></div><div><div>#ifdef __cplusplus</div><div>#include <vector></div><div>#include <cstring></div><div>#include <map></div><div>#include <memory></div><div>#include <string></div><div><br></div><div>class Asset</div><div>{</div><div>public:</div><div>    Asset(int w, int h, const char *fmt);</div><div>    Asset(int w, int h);</div><div>    int getWidth();</div></div><div><br></div><br><br><br><div style="position:relative;zoom:1"></div><div id="divNeteaseMailCard"></div><br>ÔÚ 2019-09-09 10:59:00£¬"chen" <chenm003@163.com> Ð´µÀ£º<br> <blockquote id="isReplyContent" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div>Could you please try <span style="caret-color: rgb(36, 39, 41); color: rgb(36, 39, 41); font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; white-space: pre-wrap; background-color: rgb(239, 240, 241);">#include <memory>?</span></div><div><br></div><div>At 2019-09-09 10:18:13, "qw" <applemax82@163.com> wrote:</div> <blockquote id="isReplyContent" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div>Hi,</div><div><br></div><div>The latest vmaf source code is used, but I still fail to build x265. Below is the error message:</div><div><br></div><div><div>Scanning dependencies of target common</div><div>[  1%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/pixel-a.asm.o</div><div>[  2%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/const-a.asm.o</div><div>[  3%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/cpu-a.asm.o</div><div>[  4%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/ssd-a.asm.o</div><div>[  6%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/mc-a.asm.o</div><div>[  7%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/mc-a2.asm.o</div><div>[  8%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/pixel-util8.asm.o</div><div>[  9%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/blockcopy8.asm.o</div><div>[ 10%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/pixeladd8.asm.o</div><div>[ 12%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/dct8.asm.o</div><div>[ 13%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/seaintegral.asm.o</div><div>[ 14%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/sad-a.asm.o</div><div>[ 15%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/intrapred8.asm.o</div><div>[ 17%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/intrapred8_allangs.asm.o</div><div>[ 18%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/v4-ipfilter8.asm.o</div><div>[ 19%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/h-ipfilter8.asm.o</div><div>[ 20%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/ipfilter8.asm.o</div><div>[ 21%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/loopfilter.asm.o</div><div>[ 23%] Building CXX object common/CMakeFiles/common.dir/x86/asm-primitives.cpp.o</div><div>[ 24%] Building CXX object common/CMakeFiles/common.dir/vec/vec-primitives.cpp.o</div><div>[ 25%] Building CXX object common/CMakeFiles/common.dir/vec/dct-sse3.cpp.o</div><div>[ 26%] Building CXX object common/CMakeFiles/common.dir/vec/dct-ssse3.cpp.o</div><div>[ 28%] Building CXX object common/CMakeFiles/common.dir/vec/dct-sse41.cpp.o</div><div>[ 29%] Building CXX object common/CMakeFiles/common.dir/primitives.cpp.o</div><div>[ 30%] Building CXX object common/CMakeFiles/common.dir/pixel.cpp.o</div><div>[ 31%] Building CXX object common/CMakeFiles/common.dir/dct.cpp.o</div><div>[ 32%] Building CXX object common/CMakeFiles/common.dir/lowpassdct.cpp.o</div><div>[ 34%] Building CXX object common/CMakeFiles/common.dir/ipfilter.cpp.o</div><div>[ 35%] Building CXX object common/CMakeFiles/common.dir/intrapred.cpp.o</div><div>[ 36%] Building CXX object common/CMakeFiles/common.dir/loopfilter.cpp.o</div><div>[ 37%] Building CXX object common/CMakeFiles/common.dir/constants.cpp.o</div><div>[ 39%] Building CXX object common/CMakeFiles/common.dir/cpu.cpp.o</div><div>[ 40%] Building CXX object common/CMakeFiles/common.dir/version.cpp.o</div><div>[ 41%] Building CXX object common/CMakeFiles/common.dir/threading.cpp.o</div><div>[ 42%] Building CXX object common/CMakeFiles/common.dir/threadpool.cpp.o</div><div>[ 43%] Building CXX object common/CMakeFiles/common.dir/wavefront.cpp.o</div><div>[ 45%] Building CXX object common/CMakeFiles/common.dir/md5.cpp.o</div><div>[ 46%] Building CXX object common/CMakeFiles/common.dir/bitstream.cpp.o</div><div>[ 47%] Building CXX object common/CMakeFiles/common.dir/yuv.cpp.o</div><div>[ 48%] Building CXX object common/CMakeFiles/common.dir/shortyuv.cpp.o</div><div>[ 50%] Building CXX object common/CMakeFiles/common.dir/picyuv.cpp.o</div><div>[ 51%] Building CXX object common/CMakeFiles/common.dir/common.cpp.o</div><div>[ 52%] Building CXX object common/CMakeFiles/common.dir/param.cpp.o</div><div>[ 53%] Building CXX object common/CMakeFiles/common.dir/frame.cpp.o</div><div>[ 54%] Building CXX object common/CMakeFiles/common.dir/framedata.cpp.o</div><div>[ 56%] Building CXX object common/CMakeFiles/common.dir/cudata.cpp.o</div><div>[ 57%] Building CXX object common/CMakeFiles/common.dir/slice.cpp.o</div><div>[ 58%] Building CXX object common/CMakeFiles/common.dir/lowres.cpp.o</div><div>[ 59%] Building CXX object common/CMakeFiles/common.dir/piclist.cpp.o</div><div>[ 60%] Building CXX object common/CMakeFiles/common.dir/predict.cpp.o</div><div>[ 62%] Building CXX object common/CMakeFiles/common.dir/scalinglist.cpp.o</div><div>[ 63%] Building CXX object common/CMakeFiles/common.dir/quant.cpp.o</div><div>[ 64%] Building CXX object common/CMakeFiles/common.dir/deblock.cpp.o</div><div>[ 64%] Built target common</div><div>Scanning dependencies of target encoder</div><div>[ 65%] Building CXX object encoder/CMakeFiles/encoder.dir/analysis.cpp.o</div><div>[ 67%] Building CXX object encoder/CMakeFiles/encoder.dir/search.cpp.o</div><div>[ 68%] Building CXX object encoder/CMakeFiles/encoder.dir/bitcost.cpp.o</div><div>[ 69%] Building CXX object encoder/CMakeFiles/encoder.dir/motion.cpp.o</div><div>[ 70%] Building CXX object encoder/CMakeFiles/encoder.dir/slicetype.cpp.o</div><div>[ 71%] Building CXX object encoder/CMakeFiles/encoder.dir/frameencoder.cpp.o</div><div>[ 73%] Building CXX object encoder/CMakeFiles/encoder.dir/framefilter.cpp.o</div><div>[ 74%] Building CXX object encoder/CMakeFiles/encoder.dir/level.cpp.o</div><div>[ 75%] Building CXX object encoder/CMakeFiles/encoder.dir/nal.cpp.o</div><div>[ 76%] Building CXX object encoder/CMakeFiles/encoder.dir/sei.cpp.o</div><div>[ 78%] Building CXX object encoder/CMakeFiles/encoder.dir/sao.cpp.o</div><div>[ 79%] Building CXX object encoder/CMakeFiles/encoder.dir/entropy.cpp.o</div><div>[ 80%] Building CXX object encoder/CMakeFiles/encoder.dir/dpb.cpp.o</div><div>[ 81%] Building CXX object encoder/CMakeFiles/encoder.dir/ratecontrol.cpp.o</div><div>[ 82%] Building CXX object encoder/CMakeFiles/encoder.dir/reference.cpp.o</div><div>[ 84%] Building CXX object encoder/CMakeFiles/encoder.dir/encoder.cpp.o</div><div>[ 85%] Building CXX object encoder/CMakeFiles/encoder.dir/api.cpp.o</div><div>In file included from /data2/qiang/vod_transcoder/add_vmaf/x265-3.1.1/source/encoder/api.cpp:36:0:</div><div>/usr/local/include/libvmaf.h:117:17: error: 'unique_ptr' in namespace 'std' does not name a template type</div><div>     static std::unique_ptr<IVmafQualityRunner></div><div>                 ^~~~~~~~~~</div><div>encoder/CMakeFiles/encoder.dir/build.make:270: recipe for target 'encoder/CMakeFiles/encoder.dir/api.cpp.o' failed</div><div>make[2]: *** [encoder/CMakeFiles/encoder.dir/api.cpp.o] Error 1</div><div>CMakeFiles/Makefile2:211: recipe for target 'encoder/CMakeFiles/encoder.dir/all' failed</div><div>make[1]: *** [encoder/CMakeFiles/encoder.dir/all] Error 2</div><div>Makefile:129: recipe for target 'all' failed</div><div>make: *** [all] Error 2</div></div><div><br></div><div>Is there any requirement of gcc version?</div><div><br></div><div>thanks!</div><div><br></div><div>regards</div><div><br></div><div>Andrew</div><div><br></div><div><br></div><div style="position:relative;zoom:1"></div><div></div><br>At 2019-09-06 20:00:38, "Emily Bowman" <silverbacknet@gmail.com> wrote:<br> <blockquote id="isReplyContent" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><div dir="ltr"><div dir="ltr">Your libvmaf is way out of date; the current version includes <string> and for whatever reason, yours doesn't. Pull from the head netflix vmaf repo.</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">From: qw <<a href="mailto:applemax82@163.com" target="_blank">applemax82@163.com</a>></div><div dir="ltr"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
Hi,<br>
<br>
<br>
My environment is :<br>
CentOS Linux release 7.4.1708 (Core)<br>
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)<br>
cmake version 3.15.2<br>
<br>
<br>
the version of x265 and vmaf is x265-3.1.1 and vmaf-1.3.14 respectively.<br>
<br>
<br>
First, I build and install vmaf. Second I build x265 using the following command, but fail:<br>
cmake -G "Unix Makefiles"-DENABLE_LIBVMAF=ON -DENABLE_SHARED=OFF -DSTATIC_LINK_CRT=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-std=c++11" ../source/<br>
make<br>
<br>
<br>
Below is the error message:<br>
<br>
<br>
Scanning dependencies of target encoder<br>
[  1%] Building CXX object encoder/CMakeFiles/encoder.dir/analysis.cpp.o<br>
[  2%] Building CXX object encoder/CMakeFiles/encoder.dir/search.cpp.o<br>
[  3%] Building CXX object encoder/CMakeFiles/encoder.dir/bitcost.cpp.o<br>
[  4%] Building CXX object encoder/CMakeFiles/encoder.dir/motion.cpp.o<br>
[  6%] Building CXX object encoder/CMakeFiles/encoder.dir/slicetype.cpp.o<br>
[  7%] Building CXX object encoder/CMakeFiles/encoder.dir/frameencoder.cpp.o<br>
[  8%] Building CXX object encoder/CMakeFiles/encoder.dir/framefilter.cpp.o<br>
[  9%] Building CXX object encoder/CMakeFiles/encoder.dir/level.cpp.o<br>
[ 10%] Building CXX object encoder/CMakeFiles/encoder.dir/nal.cpp.o<br>
[ 12%] Building CXX object encoder/CMakeFiles/encoder.dir/sei.cpp.o<br>
[ 13%] Building CXX object encoder/CMakeFiles/encoder.dir/sao.cpp.o<br>
[ 14%] Building CXX object encoder/CMakeFiles/encoder.dir/entropy.cpp.o<br>
[ 15%] Building CXX object encoder/CMakeFiles/encoder.dir/dpb.cpp.o<br>
[ 17%] Building CXX object encoder/CMakeFiles/encoder.dir/ratecontrol.cpp.o<br>
[ 18%] Building CXX object encoder/CMakeFiles/encoder.dir/reference.cpp.o<br>
[ 19%] Building CXX object encoder/CMakeFiles/encoder.dir/encoder.cpp.o<br>
[ 20%] Building CXX object encoder/CMakeFiles/encoder.dir/api.cpp.o<br>
In file included from /data2/qiang/vod_transcoder/add_vmaf/x265-3.1.1/source/encoder/api.cpp:36:0:<br>
/usr/local/include/libvmaf.h:95:27: error: 'string' in namespace 'std' does not name a type<br>
     void set_scores(const std::string &key, const StatVector &scores);<br>
                           ^<br>
/usr/local/include/libvmaf.h:96:33: error: 'string' in namespace 'std' does not name a type<br>
     StatVector get_scores(const std::string &key);<br>
                                 ^<br>
/usr/local/include/libvmaf.h:97:27: error: 'string' in namespace 'std' does not name a type<br>
     bool has_scores(const std::string &key);<br>
                           ^<br>
/usr/local/include/libvmaf.h:98:28: error: 'string' in namespace 'std' does not name a type<br>
     double get_score(const std::string &key);<br>
                            ^<br>
/usr/local/include/libvmaf.h:99:17: error: 'string' is not a member of 'std'<br>
     std::vector<std::string> get_keys();<br>
                 ^<br>
/usr/local/include/libvmaf.h:99:17: error: 'string' is not a member of 'std'<br>
/usr/local/include/libvmaf.h:99:28: error: template argument 1 is invalid<br>
     std::vector<std::string> get_keys();<br>
                            ^<br>
/usr/local/include/libvmaf.h:99:28: error: template argument 2 is invalid<br>
/usr/local/include/libvmaf.h:102:14: error: 'string' is not a member of 'std'<br>
     std::map<std::string, StatVector> d;<br>
              ^<br>
/usr/local/include/libvmaf.h:102:14: error: 'string' is not a member of 'std'<br>
/usr/local/include/libvmaf.h:102:37: error: template argument 1 is invalid<br>
     std::map<std::string, StatVector> d;<br>
                                     ^<br>
/usr/local/include/libvmaf.h:102:37: error: template argument 3 is invalid<br>
/usr/local/include/libvmaf.h:102:37: error: template argument 4 is invalid<br>
/usr/local/include/libvmaf.h:116:12: error: 'unique_ptr' in namespace 'std' does not name a type<br>
     static std::unique_ptr<IVmafQualityRunner> <br>
            ^<br>
make[2]: *** [encoder/CMakeFiles/encoder.dir/api.cpp.o] Error 1<br>
make[1]: *** [encoder/CMakeFiles/encoder.dir/all] Error 2<br>
make: *** [all] Error 2<br>
<br>
<br>
<br>
<br>
What's wrong with my building process?<br>
<br>
<br>
Thanks!<br>
<br>
<br>
Regards<br>
<br>
<br>
Andrew</blockquote></div></div>
</blockquote></div><br><br><span title="neteasefooter"><p> </p></span></blockquote></div></blockquote></div><br><br><span title="neteasefooter"><p> </p></span>