-
Notifications
You must be signed in to change notification settings - Fork 513
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
COM can't be used on non-Windows platforms #3083
Comments
Note that non-Windows support has never been in scope. While I have no intention to block such support, this would definitely be considered a new feature, not a bug. Existing test coverage exists merely to support cross-compilation and to ease cross-platform development. My general philosophy here continues to be that I am ok with enabling cross-platform support so long as it doesn't substantially impact the complexity and primacy of Windows support. |
@sivadeilra this is awesome! It may one day help us migrate Note that you'll face a lot of pushback, see for example #1874 which @riverar already linked to you in #3082. Though a lot of folks will be very thankful if you do manage to sit this through to the end 🤞 For the specific linker-error case, I did however manage to get at least #1863 merged. This allows you to define symbols like |
To be clear, I do not want this to become something like WINE. I don't want additional functionality that tries to bridge the gap between Windows and other platforms. I just want the subset of COM is the big one, for me. And that doesn't mean any runtime functions at all, it just means |
To be clear, |
FYI: We use COM on linux for service-fabric-rs. mssf-pal crate supplies a subset of win32 api to make it work. |
@youyuanwu cool, thanks for linking. That looks to be using the exact functionality proposed in #1863 🙂 |
I took a stab at pulling out the COM support in |
Summary
I'm working on several cross-platform codebases, such as DWriteCore, which are based heavily on COM. Currently I'm using the old
com-rs
crate, which is no longer supported. I've converted everything in my codebase to usewindows-rs
, but currently compilation (linking, specifically) fails due to platform dependencies for Windows.The first blocking issue I've hit is that the code generated for calling COM methods calls
GetErrorInfo
, which is only defined on Windows.Crate manifest
No response
Crate code
No response
The text was updated successfully, but these errors were encountered: