We use cygwin's cpp.exe (gcc, I guess) to pre-process .rc files before they get converted into compiled resource files. In our source tree there's a file foo.rc, which is 8-bit ansi, which declares some stuff and then has the following lines:
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #ifdef _WIN32 LANGUAGE 9, 1 #pragma code_page(1252) #endif //_WIN32 #include "afxres.rc" // Standard components #include "afxprint.rc" // printing/print preview resources #endif Those two #includes are files shipped with the Visual Studio Windows SDK. Now this worked fine under Visual C 6/7/8/9. However, under VC10, suddenly those Microsoft include files are unicode. (Note: not an issue with unicode file names.. these have 8-bit file names and unicode contents). Now when the afxres.rc and afxprint.rc files are included, the contents are inserted exactly as-is into the output stream, rather than interpreted. So the output file looks normal for a while, and then suddenly there's a bunch of box-char-box-char-etc with the (formerly unicode) contents of the afxres.rc file, then the same for afxprint.rc, and then some normal output again. As a test, I changed foo.rc itself to be a unicode text file, and then its contents were similarly copied into the result file. I found http://cygwin.com/cygwin-ug-net/setup-locale.html , but I'm not sure that's my issue, really. I don't know if this issue can be solved with a unicode code_page, or an upgrade to a newer version of cygwin, or a command-line switch to the executable, or just I'm out of luck. Can anyone shed some light on my problem? My apologies if this is the wrong mailing list for this question. Thank you. Jason Davis -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple