pvbrowser. Only way will be making application dependent on wine loader for a part. This is not without its prices.. Since interfacing using winelib forces using of windows memory structure. Also forces you to be x86 locked. Worse of all forces you basically to have complete wine to operate your program. "communication protocol for automation industry" Ok what protocol. I know of many with Linux support one way or another. Some are java some are C and some are C++. And thanks to the creativity of gcc all those can be built into 1 binary. pvbrowser you need to be 100 percent sure Linux support lib does not exist or is not simple to write. Using winelib the way you are talking will not be light.