The major end difference between Unicode and MS one are export names, using icuXX.dll from Unicode in place of icu.dll just won't work, the public exports have version suffix. While the library is C++, public exports (available on Windows) are C, so in theory it might be possible to build the dll with mingw (although probably not very easily).