Could _WIN32 be removed from program_options\parsers.hpp? There is no way in UNIX to parse command line independently from string. To use the library I had to dublicate parsers.hpp and winmain.cpp files localy with _WIN32 removed, which is ugly. Before this I tryed to define _WIN32 before including parsers.hpp and undef after - this affected other boost headers and did not compile. I don't see the reason to have _WIN32 macro there because the code is just an algorithm and complied successfuly in all platforms. The meaning of the algorithm is in the name of the function 'split_winmain(...)'. The use case example: command lines from Windows client machines go to Unix server for validation and logging. In this case split_winmain is regularly used on UNIX Vitaly