<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div>Hi,</div><div><br></div><div>My environment is :</div><div>CentOS Linux release 7.4.1708 (Core)</div><div>gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)</div><div>cmake version 3.15.2</div><div><br></div><div>the version of x265 and vmaf is x265-3.1.1 and vmaf-1.3.14 respectively.</div><div><br></div><div>First, I build and install vmaf. Second I build x265 using the following command, but fail:</div><div><span lang="zh-CN">cmake -G "Unix Makefiles"</span><span lang="en-US"> </span><span lang="zh-CN">-DENABLE_LIBVMAF</span><span lang="en-US">=ON</span><span lang="zh-CN">
-DENABLE_SHARED=OFF -DSTATIC_LINK_CRT=ON -DCMAKE_BUILD_TYPE=Release</span><span lang="en-US"> -D</span><span lang="zh-CN">CMAKE_CXX_FLAGS</span><span lang="en-US">="</span><span lang="zh-CN">-std=c++11</span><span lang="en-US">"</span><span lang="zh-CN">
../source/</span></div><div><span lang="zh-CN">make</span></div><div><span lang="zh-CN"><br></span></div><div>Below is the error message:</div><div><br></div><div><div>Scanning dependencies of target encoder</div><div>[ 1%] Building CXX object encoder/CMakeFiles/encoder.dir/analysis.cpp.o</div><div>[ 2%] Building CXX object encoder/CMakeFiles/encoder.dir/search.cpp.o</div><div>[ 3%] Building CXX object encoder/CMakeFiles/encoder.dir/bitcost.cpp.o</div><div>[ 4%] Building CXX object encoder/CMakeFiles/encoder.dir/motion.cpp.o</div><div>[ 6%] Building CXX object encoder/CMakeFiles/encoder.dir/slicetype.cpp.o</div><div>[ 7%] Building CXX object encoder/CMakeFiles/encoder.dir/frameencoder.cpp.o</div><div>[ 8%] Building CXX object encoder/CMakeFiles/encoder.dir/framefilter.cpp.o</div><div>[ 9%] Building CXX object encoder/CMakeFiles/encoder.dir/level.cpp.o</div><div>[ 10%] Building CXX object encoder/CMakeFiles/encoder.dir/nal.cpp.o</div><div>[ 12%] Building CXX object encoder/CMakeFiles/encoder.dir/sei.cpp.o</div><div>[ 13%] Building CXX object encoder/CMakeFiles/encoder.dir/sao.cpp.o</div><div>[ 14%] Building CXX object encoder/CMakeFiles/encoder.dir/entropy.cpp.o</div><div>[ 15%] Building CXX object encoder/CMakeFiles/encoder.dir/dpb.cpp.o</div><div>[ 17%] Building CXX object encoder/CMakeFiles/encoder.dir/ratecontrol.cpp.o</div><div>[ 18%] Building CXX object encoder/CMakeFiles/encoder.dir/reference.cpp.o</div><div>[ 19%] Building CXX object encoder/CMakeFiles/encoder.dir/encoder.cpp.o</div><div>[ 20%] 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:95:27: error: 'string' in namespace 'std' does not name a type</div><div> void set_scores(const std::string &key, const StatVector &scores);</div><div> ^</div><div>/usr/local/include/libvmaf.h:96:33: error: 'string' in namespace 'std' does not name a type</div><div> StatVector get_scores(const std::string &key);</div><div> ^</div><div>/usr/local/include/libvmaf.h:97:27: error: 'string' in namespace 'std' does not name a type</div><div> bool has_scores(const std::string &key);</div><div> ^</div><div>/usr/local/include/libvmaf.h:98:28: error: 'string' in namespace 'std' does not name a type</div><div> double get_score(const std::string &key);</div><div> ^</div><div>/usr/local/include/libvmaf.h:99:17: error: 'string' is not a member of 'std'</div><div> std::vector<std::string> get_keys();</div><div> ^</div><div>/usr/local/include/libvmaf.h:99:17: error: 'string' is not a member of 'std'</div><div>/usr/local/include/libvmaf.h:99:28: error: template argument 1 is invalid</div><div> std::vector<std::string> get_keys();</div><div> ^</div><div>/usr/local/include/libvmaf.h:99:28: error: template argument 2 is invalid</div><div>/usr/local/include/libvmaf.h:102:14: error: 'string' is not a member of 'std'</div><div> std::map<std::string, StatVector> d;</div><div> ^</div><div>/usr/local/include/libvmaf.h:102:14: error: 'string' is not a member of 'std'</div><div>/usr/local/include/libvmaf.h:102:37: error: template argument 1 is invalid</div><div> std::map<std::string, StatVector> d;</div><div> ^</div><div>/usr/local/include/libvmaf.h:102:37: error: template argument 3 is invalid</div><div>/usr/local/include/libvmaf.h:102:37: error: template argument 4 is invalid</div><div>/usr/local/include/libvmaf.h:116:12: error: 'unique_ptr' in namespace 'std' does not name a type</div><div> static std::unique_ptr<IVmafQualityRunner> </div><div> ^</div><div>make[2]: *** [encoder/CMakeFiles/encoder.dir/api.cpp.o] Error 1</div><div>make[1]: *** [encoder/CMakeFiles/encoder.dir/all] Error 2</div><div>make: *** [all] Error 2</div></div><div><br></div><div><br></div><div>What's wrong with my building process?</div><div><br></div><div>Thanks!</div><div><br></div><div>Regards</div><div><br></div><div>Andrew</div></div><br><br><span title="neteasefooter"><p> </p></span>