-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Could oatpp support Windows ? #93
Comments
Hello @portsip , This question was previously raised here (#2) but it did not get much of a traction since. In short:
Of Course Windows support is very important and personally I want it to be implemented. But at the moment it is hard to allocate time for this. If one is ready to take this challenge, I will provide all necessary support. Best Regards, |
Hi @lganzzzo, we are currently investigating using oatpp for our project. First POC on debian worked like a charm, great framework!
The visual studio compiler hits this error at src/oatpp/network/virtual_/client/ConnectionProvider.cpp:91. Cheers! |
Hello @bhorn ! Thank you for trying to port oatpp to Windows! - This is a really wanted feature. The only thing this So that child coroutine (the one which was called by the 'parent' coroutine) could callback the parent with correct set of parameters by the base class - The trick here is to keep correct memory alignment during the call, so that all members of the class are interpreted correctly. I guess that it can be refactored easily to something more clear and readable. Please keep me updated on the progress! Best Regards, |
Hey Leonid, it turned out to be one of these "visual studio" things where Microsoft tries to optimize stuff where it should not. Best Regards, |
Hey @bhorn , Thanks for the update! I think compiler-switch is a good choice. Especially that the code impact is minimal. You may also opt to join https://gitter.im/oatpp-framework/Lobby for updates and tech discussions. Regards, |
Hi @lganzzzo , thank you for the invitation, i'll join soon. But there we found the next big bummer. Something in the DTO-Macros and ENDPOINT-Macros does not expand correctly in MSVC.
instead of
Watch for the missing Best Regards, |
Hey @bhorn, Thanks for the update! Meanwhile you may add name qualifiers manually in the following macros - in order to proceed and see if your build is working.
But for sure this is something that has to be fixed. Regards, |
Hey @lganzzzo, I found another compiler switch (see https://github.com/bhorn/oatpp/blob/438fafd49fdd09cd3a18eebfcfe30f87f276b631/test/CMakeLists.txt#L2) that forces MSVC to comply to C99 macro parsing which renders DTO_FIELD and ENDPOINT useable again. However this is rather hacky and may introduces some drawbacks later on if one wants to use those macros and the Windows-API in the same file. However, I had to change the tests a bit since you used field names like I'm at the point where everything compiles fine: The first commit (bamkrs@3aa2145) enables oatpp library to compile with MSVC and the Windows SDK. The only show-stopper is the Yes, I commited and pushed this unfinished hack. Since we are at the end of our knowledge, we hope someone might see the problem and can finish this work. I have to step back here for the moment since the allocated time for this POC-Study is used up. Best Regards, |
Hey @bhorn , Thank you for the great work! I'll try to substitute a simple IOWorker instead of an Event one so that we could at least run the tests. Once I have it, I'll submit a PR to your repo. Thank you for your time and your interest in the project! Best Regards, |
Hey All, @portsip, The first draft of Windows support is currently available in the branch - https://github.com/oatpp/oatpp/tree/windows_support Best Regards, |
@lganzzzo Thanks, we will check. |
Code for Linux/Unix/Windows platforms is fully-compatible now! See PR - #112 |
Windows support is added since Oat++ version |
May I ask which IOWorker module is used for the Windows platform? Was someone able to get "wepoll" working, or was something else done? Thank you the info in advance! |
We are plan use oatpp to replace the cpp-netlib in our project, we consider below libraries:
Oatpp
crow - https://github.com/ipkn/crow
pistache - https://github.com/oktal/pistache
But the crow is no longer maintained, the pistache and oatpp both not support Windows, since our project must support Windows, so may I know does Oatpp has any roadmap to support windows ?
Thanks
The text was updated successfully, but these errors were encountered: