[C++] 32 bit MSVC doesn't build
- Dominant language
- C++
- Stars
- 17.1k
- Forks
- 4.3k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 91
Description
When specifying Win32 as a platform, and building with MSVC, the build fails with the following compile errors :
```
C:\Users\avertleyb\git\arrow\cpp\src\arrow/util/bit_util.h(70,59): error C3861: '__popcnt64': identifier not found [C:\Users\avertleyb\git\arrow\cpp\build32\src\arrow\arrow_shared.vcxproj]
C:\Users\avertleyb\git\arrow\cpp\src\arrow/util/bit_util.h(204,7): error C3861: '_BitScanReverse64': identifier not found [C:\Users\avertleyb\git\arrow\cpp\build32\src\arrow\arrow_shared.vcxproj]
C:\Users\avertleyb\git\arrow\cpp\src\arrow/util/bit_util.h(250,7): error C3861: '_BitScanForward64': identifier not found [C:\Users\avertleyb\git\arrow\cpp\build32\src\arrow\arrow_shared.vcxproj]
```
**Environment**: Win32, MSVC
**Reporter**: [Arkadiy Vertleyb](https://issues.apache.org/jira/browse/ARROW-16778)
#### PRs and other links:
- [GitHub Pull Request #13376](https://github.com/apache/arrow/pull/13376)
- [GitHub Pull Request #13519](https://github.com/apache/arrow/pull/13519)
- [GitHub Pull Request #13532](https://github.com/apache/arrow/pull/13532)
**Note**: *This issue was originally created as [ARROW-16778](https://issues.apache.org/jira/browse/ARROW-16778). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
Contributor guide
Research direction
Start in cpp/src/arrow/util/bit_util.h at lines 70, 204, and 250, then reproduce the Win32 MSVC build to confirm the reported errors. Review Pull Requests #13376, #13519, and #13532 for existing work. Done means the Win32 MSVC build completes without these compile errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- build-system, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100