isl-org / isl-org/Open3D

[MSVC][/std:c++latest][/permissive-] Open3D failed to build on MSVC

Open
#4,213 1 comment 0 reactions 0 assignees View on GitHub
build/install windows
Dominant language
C++
Stars
14k
Forks
2.6k
Avg merge
5d 18h
Merged PRs (30d)
6

Description

Hi All,

The MSVC team recently added Open3D as part of RWC testing to detect compiler regressions. And we found some errors when building Open3D with '/std:c++latest' and '/permissive-'. Could you help take a quick look?

BTW, do you know how to show build command lines for the third-party llibraries in the build log? Are there any options that could be recommended to implement? The command line will help us to reproduce issues.

**Repro steps:**
```
1. git clone https://github.com/isl-org/Open3D F:\gitP\isl-org\Open3D
2. mkdir F:\gitP\isl-org\Open3D\build_amd64
3. cd F:\gitP\isl-org\Open3D\build_amd64
4. set _CL_= /std:c++latest or set _CL_= /permissive-
5. cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_SYSTEM_VERSION=10.0.18362.0 -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=ON -DSTATIC_WINDOWS_RUNTIME=OFF -DBUILD_COMMON_ISPC_ISAS=ON -DBUILD_LIBREALSENSE=ON -DBUILD_WEBRTC=OFF -DBUILD_UNIT_TESTS=ON -DBUILD_CUDA_MODULE=OFF ..
6. msbuild /m /p:Platform=x64 /p:Configuration=Release Open3D.sln /t:Rebuild
```
**Build log:**
'/std:c++latest': [build.log](https://github.com/isl-org/Open3D/files/7440916/build.log)
'/permissive-': [build.log](https://github.com/isl-org/Open3D/files/7440923/build.log)

**Error info:**
/std:c++latest:
```
F:\gitP\isl-org\Open3D\build_amd64\embree\src\ext_embree\common\sys\vector.h(137,17): error C2039: 'destroy': is not a member of 'std::allocator'
F:\gitP\isl-org\Open3D\build_amd64\zeromq\src\ext_zeromq\src\ip.cpp(629,1): error C2362: initialization of 'saved_errno' is skipped by 'goto error_closelistener'
F:\gitP\isl-org\Open3D\build_amd64\zeromq\src\ext_zeromq\src\ip.cpp(637,1): error C2362: initialization of 'saved_errno' is skipped by 'goto try_tcpip'
F:\gitP\isl-org\Open3D\build_amd64\librealsense\src\ext_librealsense\third-party\realsense-file\boost\boost/function/function_template.hpp(662,19): error C2039: 'unary_function': is not a member of 'std'
F:\gitP\isl-org\Open3D\build_amd64\librealsense\src\ext_librealsense\third-party\realsense-file\boost\boost/function/function_template.hpp(662,33): error C2143: syntax error: missing ',' before '<'
...
```

/permissive-:
```
F:\gitP\isl-org\Open3D\build_amd64\zeromq\src\ext_zeromq\src\ip.cpp(629,1): error C2362: initialization of 'saved_errno' is skipped by 'goto error_closelistener'
F:\gitP\isl-org\Open3D\build_amd64\zeromq\src\ext_zeromq\src\ip.cpp(637,1): error C2362: initialization of 'saved_errno' is skipped by 'goto try_tcpip'
F:\gitP\isl-org\Open3D\build_amd64\librealsense\src\ext_librealsense\src\media\record\record_sensor.cpp(216,97): error C2385: ambiguous access of 'recordable'
F:\gitP\isl-org\Open3D\build_amd64\librealsense\src\ext_librealsense\src\win\win-helpers.cpp(802,87): error C2440: '=': cannot convert from 'const wchar_t [42]' to 'WCHAR *'
F:\gitP\isl-org\Open3D\build_amd64\librealsense\src\ext_librealsense\src\mf\mf-hid.h(26,1): error C2440: '=': cannot convert from 'const wchar_t [24]' to 'BSTR'
F:\gitP\isl-org\Open3D\build_amd64\librealsense\src\ext_librealsense\src\mf\mf-uvc.cpp(1118,24): error C2440: 'initializing': cannot convert from '_InIt' to '_InIt &'
F:\gitP\isl-org\Open3D\build_amd64\librealsense\src\ext_librealsense\src\mf\mf-hid.cpp(394,66): error C2440: '=': cannot convert from 'const wchar_t [24]' to 'BSTR'
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.