-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Support msvc build for x86 #7023
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Isn't _WIN64 supposed to be set by the compiler .. if it is not predefined you are supposed to use the non-_WIN64 typedefs? I am not an expert in windows builds but it feels a bit hacky to me that you define _WIN64 unconditionally if a msvc compiler is used. |
|
@danmar Sorry for my unclear explanation, I package cppcheck as a python wheel. And it failed to build for x86 distribution in github ci. Now I just patch it temporarily in the vcpkg build. |
|
Thanks for your contribution. That change would cause x64 binaries not to be fully 64-bit - it needs to be handled differently. We have removed support for x86 in #5397 because we only ever properly supported it in Windows builds and there no longer are ways for other platforms to test it. Why do you still need x86 builds?
No - it is specified in the Visual Studio projects explicitly for x64 projects. Same for |
|
Okay - read up on multi-platform in CMake (it's been a while). I did not look into the defines yet. How do you build Cppcheck? I assume you pass the So to properly address the addition of |
|
Thanks for the clarifications firewave
yes I more or less wonder this too.. I assume you are stuck with 32-bit windows maybe you need support for some old DOS tool or something? |
there's many distributions from cibuildwheel based on arch and OS. And I just encountered the failed build on win32. Anyway,I have passed through ci with some vcpkg tricks.And thanks for your all explanation. because of the unsupported test status in the repo and I'll close this. |
What are you using the wheel for? Are you building all of those? Are the build machines publicly available? Given the variety of platforms that could be a nice extension of the CI. Too bad there is no ARM for Windows. But I assume no tests are run in those builds so it would only be partially helpful in terms of getting it built but not having something actually working. |
Yes. |
I aim to package the wheel promptly for latest cppcheck update. Currently I finished most distribution builds except There are some qemu setup in ci and docker commands seems to help cross-compliling and test. But it has unsupported tests in |
Now I have built all distros in that table from https://github.com/msclock/cppcheck-wheel/releases/tag/v1.3.0 |
This option enforces msvc to switch to _WIN64 of the header file
vcruntime.hwhen building for x86, but __int64 does not exist actually.And remove it to support x86 msvc build.