我正在使用VS2017,工具集v141在Windows 10 x64中编译opencv(主版本)。 VS项目是由cmake生成的。
我遇到多个错误,例如:
c1xx:致命错误C1083:无法打开源文件: 'I:\ opencv-master \ opencv \ 3rdparty \ openexr \ IlmThread \ IlmThreadWin32.cpp':没有这样的文件或目录 [I:\ opencv-master \ build \ 3rdparty \ openexr \ IlmImf.vcxproj]
但是,由于以下原因,我不知道该怎么办:
此外,在IlmImf.vcxproj中,引用了许多文件,但在错误中仅提及了其中一些文件。只是带有ClCompile
标记的文件。
例如,对于文件Half
,在C1083错误中仅引用half.cpp
:
<ItemGroup>
<ClInclude Include="I:\opencv-master\opencv\3rdparty\openexr\Half\eLut.h" />
<ClInclude Include="I:\opencv-master\opencv\3rdparty\openexr\Half\half.h" />
<ClInclude Include="I:\opencv-master\opencv\3rdparty\openexr\Half\halfFunction.h" />
<ClInclude Include="I:\opencv-master\opencv\3rdparty\openexr\Half\halfLimits.h" />
<ClInclude Include="I:\opencv-master\opencv\3rdparty\openexr\Half\toFloat.h" />
<ClCompile Include="I:\opencv-master\opencv\3rdparty\openexr\Half\half.cpp" />
这是完整的vcxproj文件:https://github.com/mprevot/C1083/blob/master/IlmImf.vcxproj
编辑
我可以在VS2017中打开项目中的每个cpp文件。右键单击+编译(alt + F7)对于单个cpp文件会导致相同的错误。但是对于其中的少数人,还有一个E1696错误。
严重性代码描述项目文件行抑制状态错误 (活动)E1696无法打开源文件 “ I:\ OPENCV-MASTER \ OPENCV \ 3RDPARTY \ OPENEXR \ ILMTHREAD \ ILMTHREADMUTEX.CPP” IlmImf 0
严重性代码说明项目文件行抑制状态 错误C1083无法打开源文件: 'I:\ opencv-master \ opencv \ 3rdparty \ openexr \ IlmThread \ IlmThreadMutex.cpp': 没有这样的文件或 目录IlmImf I:\ opencv-master \ build \ 3rdparty \ openexr \ c1xx 1
命令行为:
/MP /GS /TP /W3 /wd"4127" /wd"4251" /wd"4324" /wd"4275" /wd"4512" /wd"4589"
/wd"4018" /wd"4099" /wd"4100" /wd"4101" /wd"4189" /wd"4245" /wd"4305"
/wd"4389" /wd"4701" /wd"4702" /wd"4706" /wd"4800" /wd"4334" /wd"4244"
/wd"4267" /wd"4456" /Gy /Zc:wchar_t
/I"I:\opencv-master\opencv\3rdparty\openexr\IlmImf"
/I"I:\opencv-master\opencv\3rdparty\openexr\Imath"
/I"I:\opencv-master\opencv\3rdparty\openexr\IlmThread"
/I"I:\opencv-master\opencv\3rdparty\openexr\Iex"
/I"I:\opencv-master\build\3rdparty\zlib"
/I"I:\opencv-master\opencv\3rdparty\zlib"
/I"I:\opencv-master\build\3rdparty\openexr"
/I"I:\opencv-master\opencv\3rdparty\openexr\Half"
/I"I:\opencv-master\build" /Gm- /O2 /Ob2
/Fd"I:\opencv-master\build\3rdparty\lib\Release\IlmImf.pdb"
/Zc:inline /fp:precise /D "WIN32" /D "_WINDOWS" /D "_CRT_SECURE_NO_DEPRECATE"
/D "_CRT_NONSTDC_NO_DEPRECATE" /D "_SCL_SECURE_NO_WARNINGS" /D "NDEBUG"
/D "_VARIADIC_MAX=10" /D "CMAKE_INTDIR=\"Release\"" /D "_MBCS"
/errorReport:prompt /WX- /Zc:forScope /GR /Gd /Oi /MD /Fa"Release/"
/EHa /nologo /Fo"IlmImf.dir\Release\" /Fp"IlmImf.dir\Release\IlmImf.pch"
/diagnostics:classic
和其他选项/bigobj
答案 0 :(得分:0)
当我git
使用Linux版本(WSL),但不是Windows版本(Visual Studio附带)时,会发生此问题。这可能是一个无法打印的字符,或者是某种东西,因为在opencv-master 4.0.0的开始版本的Linux from mpl_toolkits import mplot3d
上没有发生这种情况。
我不确定是否应该在WSL项目中进行报告。 仍然欢迎任何提示。