windres vs. wrc

Dmitry Timoshkov dmitry at
Tue Nov 19 01:52:33 CST 2002

"Dimitrie O. Paun" <dpaun at> wrote:

> > 1. it knows nothing about unicode and therefore can't correctly compile
> >    resources with languages apart from English.
> Putty is using Unicode with windres, so I guess this is fixed.

According to CVS, windres has a kludge for some kind of unicode support:
it uses MultiByteToWideChar(CP_ACP) to convert resource strings to unicode if
compiled under Win32 platform. But there is no support for multiple languages/
code pages which Wine need.

> > 2. at least an year ago it generated wrongly aligned RCDATA sections,
> >    which affects all winmm resources in Wine
> Doesn't sound like a big thing to implement, no?

Sure, this is not a big thing. But why we should bother? We have a working and
maintained resource compiler in the Wine tree.

> > 3. it can't compile 16-bit resources, which is a critical feature for Wine.
> Hm, this may be tough to support in windres, as there are no users for this.
> > .res -> .o conversion (which windres is able to do) is very valueable
> > for all Windows based projects. WRC is not able to do it.
> I was thinking maybe we can add it in... Maybe a simple hack, such as
> calling as internally.

I'm afaraid that's not enough. What windres does, is creating .rsrc coff section
which ld with compiled in PE support can understand and link.

> > WRC was made to be somewhat compatible with Microsoft resource compiler
> > in using command line switches. That's not the case for windres.
> Which is cool. But windres support long options, and maybe we can add
> a compatible set too, so we can have a single target in makefiles:
> %.o : %.rc
> $(RC) ....

Sure, adding compatible with windres long options is feasible, but short
options very likely will conflict.


More information about the wine-devel mailing list