vs编译cmake报错如下:
RC Pass 1: command “rc /foCMakeFiles\cmTC_0cba6.dir/manifest.res CMakeFiles\cmTC_0cba6.dir/manifest.rc” failed (exit code 0) with the following output:
系统找不到指定的文件。
ninja: build stopped: subcommand failed.
出错原因是vs版本2017太低,需要更高版本的 .Net Framework 4.8 SDK,所以解决方法有两个,一个如下图单独安装.Net Framework 4.8版本,另一种解决方法是安装更高版本的visual Studio.
其中, .Net Framework 4.8 SDK的安装网上有详细教程,详见:https://jingyan.baidu.com/article/e3c78d64003ba97d4c85f5af.html
另外,vs2019编译遇到问题:
OpenCV does not recognize MSVC_VERSION “1929”. Cannot set OpenCV_RUNTIME C:\Code\janusfacelock_cpp_onnxruntime\3rdparty/opencv/opencv.cmake 29
需要在CMakeLists.txt中加入1926对应的vc16版本
if(MSVC_VERSION EQUAL 1400)
set(OpenCV_RUNTIME vc8)
elseif(MSVC_VERSION EQUAL 1500)
set(OpenCV_RUNTIME vc9)
elseif(MSVC_VERSION EQUAL 1600)
set(OpenCV_RUNTIME vc10)
elseif(MSVC_VERSION EQUAL 1700)
set(OpenCV_RUNTIME vc11)
elseif(MSVC_VERSION EQUAL 1800)
set(OpenCV_RUNTIME vc12)
elseif(MSVC_VERSION EQUAL 1900)
set(OpenCV_RUNTIME vc14)
elseif(MSVC_VERSION EQUAL 1929)
set(OpenCV_RUNTIME vc16)
elseif(MSVC_VERSION MATCHES "^191[0-9]$")
set(OpenCV_RUNTIME vc15)
else()
message(WARNING "OpenCV does not recognize MSVC_VERSION \"${MSVC_VERSION}\". Cannot set OpenCV_RUNTIME")
endif()
成功,问题解决。