VC 6 UNICODE C2664 , C2679 …

投稿日 by Iwao

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

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • カテゴリー:


コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください