eclipse-iceoryx / iceoryx

Eclipse iceoryx™ - true zero-copy inter-process-communication
https://iceoryx.io
Apache License 2.0
1.68k stars 391 forks source link

getopt_long is not implemented in windows #1795

Open wukongiii opened 1 year ago

wukongiii commented 1 year ago

Brief feature description

getopt_long is not implemented in windows

Detailed information

My project needs large buffers, and I followed the configuration document, fill the size it needed, but when I was trying to start iox-roudi.exe with parameter "-c ", it says "getoptlong is not implemented in windows". I have 2 solutions: 1) Hardcode the size of memory pool in roudi_main_static_config.cpp_ 2) Find an open sourced implementation of _getoptlong and put it into the project to build a version which can make -c work.

Since I'd like to give my project more flexibilities, I chose solution 2, and it works well. I'd like to make a contribution to the project, but _getoptlong is not written by myself, and I don't know the relevant policy of the project, so I have to ask this feature by posting this request.

Thank you.

elfenpiff commented 1 year ago

@wukongiii We are aware of this and this is why we implemented a modern c++ abstraction for command line parsing, see: #1102

We will merge it later this day and based on that I will refactor the command line parsing for the iox-roudi so you should get nice and shiny new command line parsing capabilities on windows.

I will ping you when it is available!

Sadly we cannot go for the getopt_long open source implementation since it is licensed under GPL which is not compatible with Apache 2.0.

wukongiii commented 1 year ago

That's really an exciting news, thank you @elfenpiff ! You guys are awsome!

niclar commented 1 year ago

@elfenpiff given the merge, is this something that will be implemented soon ?

elfenpiff commented 1 year ago

@niclar You are right! This is a tiny change now and I will look into it.

niclar commented 1 year ago

Hi again, can we expect this to be implemented anytime soon ?

elBoberido commented 1 year ago

@niclar I'm not aware of anybody currently working on this. Patches are welcome :)

niclar commented 1 year ago

alright, we'll start embedding roudi instead...

elfenpiff commented 1 year ago

@elBoberido we have merged the command line parser and I thought we already using it in the roudi app. If not we could integrate it there quickly. This would remove a lot of code, and provide an awesome cli interface and we have windows covered with it.

elBoberido commented 1 year ago

@elfenpiff AFAIK we merged the CLI abstraction but did not port RouDi to it. Not sure how simple this would be since it has a layered design with optionally having an option for the path to a TOML config file.

no5-aaron-wu commented 2 months ago

Urge to update!!!