opencv / opencv

Open Source Computer Vision Library
https://opencv.org
Apache License 2.0
76.71k stars 55.65k forks source link

Unicode character in comment cause a warning(maybe an error) in MSVC #25621

Closed lackhole closed 1 month ago

lackhole commented 1 month ago

Describe the doc issue

I've recently updated OpenCV from 4.1.0 to 4.9.0 in my product, and then it fails to compile on Windows. After digging into the problem, it turns out that a unicode(non-ascii) character in https://github.com/opencv/opencv/blob/master/modules/core/include/opencv2/core.hpp#L1810 cause a warning(error) in MSVC (corresponding document: https://docs.opencv.org/4.x/d2/de8/group__core__array.html#gab1b1274b4a563be34cdfa55b8919a4ec)

C:\actions-runner\windows-3\_work\seeso-core\seeso-core\third_party\opencv\opencv-4.9.0-windows\build\include\opencv2/core.hpp(1743): error C2220: 다음 경고는 오류로 처리됩니다.
C:\actions-runner\windows-3\_work\seeso-core\seeso-core\third_party\opencv\opencv-4.9.0-windows\build\include\opencv2/core.hpp(1743): warning C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 데이터가 손실되지 않게 하려면 해당 파일을 유니코드 형식으로 저장하십시오.
C:\actions-runner\windows-3\_work\seeso-core\seeso-core\third_party\opencv\opencv-4.9.0-windows\build\include\opencv2/core.hpp(1743): warning C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 데이터가 손실되지 않게 하려면 해당 파일을 유니코드 형식으로 저장하십시오.
C:\actions-runner\windows-3\_work\seeso-core\seeso-core\third_party\opencv\opencv-4.9.0-windows\build\include\opencv2/core.hpp(1743): warning C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 데이터가 손실되지 않게 하려면 해당 파일을 유니코드 형식으로 저장하십시오.
ninja: build stopped: subcommand failed.

After manually changing to ', the warning(error) is gone.

Fix suggestion

One can use /external flag, but it's better to fix the real problem for everyone. Change to '