<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>