VC 6 UNICODE C2664 , C2679 …
VC 6 コンソール AP で _UNICODE とした時,部分的に効いていない?様なエラー.
--------------------構成: T_RegKey - Win32 Release-------------------- コンパイル中... T_RegKey.cpp ...\_s_func.hxx(71) : error C2664: 'wcscpy' : 1 番目の引数を 'char *' から 'unsigned short *' に変換できません。 ...\_s_func.hxx(72) : error C2664: 'wcslen' : 1 番目の引数を 'const char *' から 'const unsigned short *' に... ...\StringFn.hxx(277) : error C2679: 二項演算子 '=' : 型 'unsigned short [3]' の右オペランドを扱う演算子は定義... ...\StrAryFn.hxx(118) : error C2665: 'wcspbrk' : 2 のオーバーロードは 1 番目の引数を 'char *' から要求の型に変換... ... T_RegKey.obj - エラー 86、警告 0
先頭で #include <Afx.h> などとすればコンパイルは通る.
または,次の様に UNICODE を定義すれば良いみたい.
#ifdef _UNICODE
#ifndef UNICODE
#define UNICODE
#endif
#endif
以前にも同じことを書いていた.
#include <Afx.h> などを追加した場合は,
--------------------構成: T_RegKey - Win32 Release-------------------- リンク中... uafxcw.lib(thrdcore.obj) : error LNK2001: 外部シンボル "__endthreadex" は未解決です uafxcw.lib(thrdcore.obj) : error LNK2001: 外部シンボル "__beginthreadex" は未解決です c:\...\Release.060/T_RegKey.exe : fatal error LNK1120: 外部参照 2 が未解決です。 link.exe の実行エラー T_RegKey.exe - エラー 3、警告 0
「プロジェクトの設定」-「一般」の「M..F..C..」で「共有 DLL で MFC を使用」などとする.
UNICODE の定義は,(VS12)\VC\AtlMFC\Include\AfxV_W32.h を参照して i_Define.hxx に追加した.
Windows.h より前に UNICODE が定義されてない場合は,i_Define.hxx をインクルードすれば良い.
2020/09 コンソール AP での define