Skip to content

enable kobuki Windows build#27

Open
kejxu wants to merge 7 commits into
stonier:release/0.61-melodicfrom
ms-iot:windows_bringup
Open

enable kobuki Windows build#27
kejxu wants to merge 7 commits into
stonier:release/0.61-melodicfrom
ms-iot:windows_bringup

Conversation

@kejxu
Copy link
Copy Markdown

@kejxu kejxu commented Jul 17, 2019

this library needs to be updated in order to enable the kobuki code base to build on Windows

  • to prevent macro pollution from windows.h, windows.h should not be included in header files

this port points to the melodic release branch because it currently only targets ROS1.melodic

@kejxu kejxu changed the title enable kobuki windows build enable kobuki Windows build Jul 17, 2019
@stonier
Copy link
Copy Markdown
Owner

stonier commented Jul 21, 2019

Wondering if this breaks anything in ecl_core?

Unfortunately, I've not got any windows CI running anymore.

@kejxu
Copy link
Copy Markdown
Author

kejxu commented Jul 23, 2019

Wondering if this breaks anything in ecl_core?

Unfortunately, I've not got any windows CI running anymore.

Since the entire porting effort includes changing ecl_core, ecl_lite, and ecl_toos at the same time, will set up a build for all these libraries later to validate Windows build status.

Ideally everything should just work =) However, only packages consumed by kobuki were built, we'll see how this goes.

BTW, quick question: are the ecl_* libraries used by any other projects other than kobuki (both on Windows and Linux) ? Given the fact that these were written earlier in time, some of the libraries seem to have implementation in STL already (mutex, thread, etc.). Just curious, are there plans to update downstream projects to directly consume STL instead?

@stonier
Copy link
Copy Markdown
Owner

stonier commented Jul 24, 2019

Aye, lots of stuff there that made sense before later c++ versions became readily available, especially for embedded systems.

I know of a few groups using it on non-Kobuki robots, albeit only a few of the libraries, but the main consideration is for a line of non-research robots (> 100k). For these it absolutely does not make sense to replace working code at the risk of introducing bugs when the existing code, even though it's not std, is working perfectly. As a result - this is one of the few libraries I do try to maintain - with extra emphasis on 'maintain'. I try not to fiddle with the API too much and if that desire is ever there, it should fork from this project and become an ECL2.

@stonier
Copy link
Copy Markdown
Owner

stonier commented Jul 24, 2019

Keep me tuned into the status of your windows build efforts - happy to help make it work on this side if you can validate all of the libraries working there.

@kejxu
Copy link
Copy Markdown
Author

kejxu commented Jul 24, 2019

Keep me tuned into the status of your windows build efforts - happy to help make it work on this side if you can validate all of the libraries working there.

Thanks for explanation! That's very close to what I thought, I was thinking there must be some robotic applications running on platforms without well-established support of STL, thanks a lot for confirming that =)

I will start to create a dashboard/markdown for all Windows-related changes, as well as enable and run ecl's test coverage on changed modules. Will be updating on this thread before the end of this week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants