ホーム » 検索結果: VS 6 (ページ 2)
検索結果: VS 6
コンパイルエラー C2664
次の様になっている _UNICODE のプロジェクトでエラー.
//#include “messbar.hxx”
#include “i_dib_bg.hxx”
#include “itls_tmp.hxx”
--------------------構成: Tc_i_DIB - Win32 Release-------------------- コンパイル中... Tc_i_DIB.cpp \\DevS\Documents\Develop\_.SRC\__CPR_\_s_func.hxx(71) : error C2664: 'wcscpy' : 1 番目の引数を 'char *' から 'unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 \\DevS\Documents\Develop\_.SRC\__CPR_\_s_func.hxx(72) : error C2664: 'wcslen' : 1 番目の引数を 'const char *' から 'const unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 \\DevS\Documents\Develop\_.SRC\__CPR_\_s_func.hxx(88) : error C2664: 'wcsncpy' : 1 番目の引数を 'char *' から 'unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 \\DevS\Documents\Develop\_.SRC\__CPR_\_s_func.hxx(105) : error C2664: 'wcscat' : 1 番目の引数を 'char *' から 'unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 \\DevS\Documents\Develop\_.SRC\__CPR_\_s_func.hxx(106) : error C2664: 'wcslen' : 1 番目の引数を 'const char *' から 'const unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 \\DevS\Documents\Develop\_.SRC\__CPR_\_s_func.hxx(106) : error C2664: 'wcslen' : 1 番目の引数を 'char *' から 'const unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 \\DevS\Documents\Develop\_.SRC\__CPR_\_s_func.hxx(127) : error C2664: 'wcsncat' : 1 番目の引数を 'char *' から 'unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 \\DevS\Documents\Develop\_.SRC\__CPR_\_s_func.hxx(128) : error C2664: 'wcslen' : 1 番目の引数を 'const char *' から 'const unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 \\DevS\Documents\Develop\_.SRC\__CPR_\_s_func.hxx(128) : error C2664: 'wcslen' : 1 番目の引数を 'char *' から 'const unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 \\DevS\Documents\Develop\_.SRC\__CPR_\_s_func.hxx(171) : error C2664: '_wcslwr' : 1 番目の引数を 'char *' から 'unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 \\DevS\Documents\Develop\_.SRC\__CPR_\_s_func.hxx(186) : error C2664: '_wcsupr' : 1 番目の引数を 'char *' から 'unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 \\DevS\Documents\Develop\_.SRC\__CPR_\_s_func.hxx(211) : error C2664: '_wgetenv' : 1 番目の引数を 'const char *' から 'const unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 \\DevS\Documents\Develop\_.SRC\__CPR_\_s_func.hxx(235) : error C2664: '_wcreat' : 1 番目の引数を 'const char *' から 'const unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 \\DevS\Documents\Develop\_.SRC\__CPR_\_s_func.hxx(259) : error C2664: '_wfopen' : 1 番目の引数を 'const char *' から 'const unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 \\DevS\Documents\Develop\_.SRC\__CPR_\ttox.hxx(32) : error C2664: 'wcstoul' : 1 番目の引数を 'const char *' から 'const unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 \\DevS\Documents\Develop\_.SRC\__CPR_\ttox.hxx(32) : fatal error C1903: 直前のエラーを修復できません; コンパイルを中止します。 cl.exe の実行エラー Tc_i_DIB.exe - エラー 16、警告 0
_MBCS にすると OK .
また,コメントにした “messbar.hxx” のインクルードを外すと OK .
エラーは UNICODE 版の関数を使用しているのに char を与えているというもの.
wcscpy を呼び出すときの引数を char* ではなく wchar_t* にすれば良い.
または,_MBCS ,_UNICODE 共に動作する様に _tcscpy の様な関数と TCHAR を使用する.
2019/01/31
今回エラーになったのは次の様なコード.
bool TcsCpy (LPTSTR dst,size_t sizeD,LPCTSTR src)
{
if (sizeD == 0) { return false ; }
bool rs = true ;
#if(_MSC_VER >= 1400)
{
errno_t err = _tcscpy_s (dst,sizeD, src) ;
if (err != 0) { rs = false ; }
}
#else
{
_tcscpy (dst, src) ;
if (sizeD < _tcslen(src)) { rs = false ; }
}
#endif
return rs ;
}
原因は _UNICODE が定義 されていて UNICODE が定義されていない ことによるもの.
ビルド環境?によってこれらの #define が矛盾してしまうことがある.
Windows.h をインクルードする前に両方が定義されている必要がある.
今回は自前の def_bmp.hxx の先頭に,i_define.hxx をインクルードすることで対応.
i_define.hxx 内では,次の様にしている.
// (VS8)\VC\AtlMFC\Include\AfxV_W32.h #ifdef _MSC_VER #ifdef _UNICODE #ifndef UNICODE #define UNICODE // UNICODE is used by Windows headers #endif #endif #ifdef UNICODE #ifndef _UNICODE #define _UNICODE // _UNICODE is used by C-runtime/MFC headers #endif #endif #endif
2020/09
i_def_aw.hxx を用意.
コンソール AP での define
コンソール AP で C2065 C2059
コンソール AP で,ビルドすると
--------------------構成: T_S_xxx - Win32 Debug-------------------- コンパイル中... T_S_xxx.cpp \\devs\documents\develop\_.src\_yet\winmfc.hxx(68) : error C2065: 'CListCtrl' : 定義されていない識別子です。 \\devs\documents\develop\_.src\_yet\winmfc.hxx(68) : error C2065: 'ctrl' : 定義されていない識別子です。 \\devs\documents\develop\_.src\_yet\winmfc.hxx(68) : error C2059: 構文エラー : 'const' \\devs\documents\develop\_.src\_yet\winmfc.hxx(68) : error C2143: 構文エラー : ';' が '{' の前に必要です。 \\devs\documents\develop\_.src\_yet\winmfc.hxx(68) : error C2447: '<L_PROPERTY>' : 関数ヘッダがありません (旧形式の仮引数リスト?) ... \\devs\documents\develop\_.src\_yet\list.hxx(159) : error C2061: 構文エラー : 識別子 'CListCtrl' がシンタックスエラーを起こしました。 \\devs\documents\develop\_.src\_yet\list.hxx(169) : error C2061: 構文エラー : 識別子 'CListCtrl' がシンタックスエラーを起こしました。 ... \\devs\documents\develop\_.src\...\.....cpp(2017) : fatal error C1903: 直前のエラーを修復できません; コンパイルを中止します。 cl.exe の実行エラー T_S_xxx.exe - エラー 24、警告 0
#include <AfxCmn.h> を追加.
空のコンソール AP で C2065 C2146
空のコンソール AP プロジェクトで,ビルドすると
--------------------構成: MkBG_up - Win32 Debug-------------------- コンパイル中... MkBG_up.cpp \\devs\documents\develop\_.src\__cpr_\straryfn.hxx(254) : error C2065: 'MessageCon' : 定義されていない識別子です。 \\devs\documents\develop\_.src\__cpr_\straryfn.hxx(254) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。 \\devs\documents\develop\_.src\__cpr_\straryfn.hxx(254) : error C2065: 'bar' : 定義されていない識別子です。 \\devs\documents\develop\_.src\__cpr_\straryfn.hxx(258) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\messbar.hxx(23) : warning C4005: 'MessageBar' : マクロが再定義されました。 s:\develop\vc_test\_3d\mkbg_up\mkbg_up.cpp(19) : 'MessageBar' の前の定義を確認してください \\devs\documents\develop\_.src\__cpr_\openfile.hxx(56) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。 \\devs\documents\develop\_.src\__cpr_\openfile.hxx(66) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\enumfile.hxx(342) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。 \\devs\documents\develop\_.src\__iwao\enumfile.hxx(346) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\enumfile.hxx(412) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。 \\devs\documents\develop\_.src\__iwao\enumfile.hxx(419) : error C2228: '.SetBarMax' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\enumfile.hxx(420) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。 .... \\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(66) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。 \\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(67) : error C2228: '.SetBar' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(68) : error C2228: '.SetBar' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(72) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。 cl.exe の実行エラー MkBG_up.exe - エラー 53、警告 1
リビルドすると通る.
「プリコンパイル済みヘッダーを自動的に使用」になっているためで,
「プリコンパイル済みヘッダを使用しない」にするか,pch を正しく指定する.
半年ほど前にも同じ記事を書いてた.
Win 10 10586 3D Builder
3MF 形式ではいたデータが,10586 にしてから開けないでいた.エラー : 0x80004005
model タグに,xmlns 属性が必要になった?
<model unit= "millimeter " xmlns="http://schemas.microsoft.com/3dmanufacturing/core/2015/02 " >
ply だと,
3MF でのテクスチャは未だ.
2016/05/02 テクスチャなどの大文字,小文字も区別される?また,path も / から正しく指定する必要がある.
テクスチャの場合,colorid の指定が object の属性では効果がなくなった?
triangle 内での指定が必要?
Win 10 10586
ドロップダウン付のツールバーで,ボタンが切れる現象は直った?
VS 2005 で作成した「Web セットアップ プロジェクト」のインストールはまだできない?
2015/12/10
ドロップダウン付のツールバーのサイズが正しくない現象が XP でも発生.
初期の Win 10 で現象が発生しやすかったことは確かだが,もっと他にも条件がありそう.
MFC 8 やフラットかどうかなど.
XP で発生した時,MFC 6 の exe は問題なかった.
いつも使用している環境では,フラットにしていないことが多い.
vsdrfCOM でエラー
VS 2005 のセットアッププロジェクトで,exe の「Register」を「vsdrfCOM」としてビルドすると,
—————————
AsTM0317.exe – アプリケーション エラー
—————————
“0x5cac9a9c” の命令が “0x0000005c” のメモリを参照しました。メモリが “read” になることはできませんでした。
プログラムを終了するには [OK] をクリックしてください
—————————
OK
—————————
—— ビルド開始: プロジェクト: TestSet3, 構成: Debug ——
ファイル ‘C:\…\TestSet3\TestSet3\Debug\TestSet3.msi’ をビルドしています…
警告: ‘AsTM0317.exe’ というファイルのレジストリ情報を作成できません。
警告: Windows インストーラは、どの選択された必須コンポーネントにも含まれていません。
ファイル ‘AsTM0317.exe’ をパッケージしています…
ファイル ‘AsImgCnv.exe’ をパッケージしています…
========== ビルド: 1 正常終了または最新の状態、0 失敗、0 スキップ ==========
AsImgCnv.exe の方はエラーの表示はない.
VS 2002 や 2008 では,OK.
また,vsdrfCOMSelfReg の場合も OK.
2015/03/20
vsdrfCOMSelfReg とした場合,そのままではインストール時にダイアログから表示されていた.
/RegServer , /UnRegServer が指定された場合,ダイアログを表示しない様に対応.
BOOL isReg = FALSE ;
{
if (::FindNoCase(m_lpCmdLine,_T( “/REGSERVER”)) >= 0) { isReg = TRUE ; }
else if (::FindNoCase(m_lpCmdLine,_T( “-REGSERVER”)) >= 0) { isReg = TRUE ; }
else if (::FindNoCase(m_lpCmdLine,_T(“/UNREGSERVER”)) >= 0) { isReg = TRUE ; }
else if (::FindNoCase(m_lpCmdLine,_T(“-UNREGSERVER”)) >= 0) { isReg = TRUE ; }
}
if (!isReg) {
CAsImgCnvDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK) {
}
else if (nResponse == IDCANCEL) {
}
}
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
UNICODE と VC6 → VC8 一部修正
VC6 | UNICODE |
wWinMainCRTStartup
VC6 → VC8
http://cid-535f5973454c1292.skydrive.live.com/self.aspx/.Public/MFC/VC6%e2%86%92VC8.txt
「全般」-「出力ディレクトリ」,「中間ディレクトリ」 | .\$(ConfigurationName) |
「プリコンパイル済みヘッダファイル」 | $(IntDir)/$(TargetName).pch |
「C/C++」-「出力ファイル」 「ASMリスト...」 「オブジェクト...」 「プログラムデータベース...」 |
$(IntDir)/ |
「リンカ」-「全般」の「出力ファイル」 | $(OutDir)/$(ProjectName).exe |
リンカ」-「デバッグ」 「プログラムデータベースファイルの生成」 |
$(OutDir)/$(ProjectName).pdb |
「リソース」-「全般」の「リソースファイル名」 | $(IntDir)/$(InputName).res |
「MIDL」-「出力」の「タイプライブラリ」 | $(IntDir)/$(ProjectName).tlb |
「ブラウザ情報」-「全般」の「出力ファイル」 | $(OutDir)/$(ProjectName).bsc |
T54W7U64 CSIDL_SYSTEMX86
CSIDL_PROGRAM_FILES | C:\Program Files (x86) |
CSIDL_PROGRAM_FILESX86 | C:\Program Files (x86) |
CSIDL_SYSTEM | C:\Windows\system32 |
CSIDL_SYSTEMX86 | C:\Windows\SysWOW64 |
2020/01/23 64bit.exe で出力
CSIDL_ADMINTOOLS 30 C:\Users\Iwao\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools CSIDL_ALTSTARTUP 1d C:\Users\Iwao\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup CSIDL_APPDATA 1a C:\Users\Iwao\AppData\Roaming CSIDL_BITBUCKET 0a CSIDL_CDBURN_AREA 3b C:\Users\Iwao\AppData\Local\Microsoft\Windows\Burn\Burn CSIDL_COMMON_ADMINTOOLS 2f C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools CSIDL_COMMON_ALTSTARTUP 1e C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup CSIDL_COMMON_APPDATA 23 C:\ProgramData CSIDL_COMMON_DESKTOPDIRECTORY 19 C:\Users\Public\Desktop CSIDL_COMMON_DOCUMENTS 2e C:\Users\Public\Documents CSIDL_COMMON_FAVORITES 1f C:\Users\Iwao\Favorites CSIDL_COMMON_MUSIC 35 C:\Users\Public\Music CSIDL_COMMON_OEM_LINKS 3a CSIDL_COMMON_PICTURES 36 C:\Users\Public\Pictures CSIDL_COMMON_PROGRAMS 17 C:\ProgramData\Microsoft\Windows\Start Menu\Programs CSIDL_COMMON_STARTMENU 16 C:\ProgramData\Microsoft\Windows\Start Menu CSIDL_COMMON_STARTUP 18 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup CSIDL_COMMON_TEMPLATES 2d C:\ProgramData\Microsoft\Windows\Templates CSIDL_COMMON_VIDEO 37 C:\Users\Public\Videos CSIDL_COMPUTERSNEARME 3d CSIDL_CONNECTIONS 31 CSIDL_CONTROLS 03 CSIDL_COOKIES 21 C:\Users\Iwao\AppData\Local\Microsoft\Windows\INetCookies CSIDL_DESKTOP 00 C:\Users\Iwao\Desktop CSIDL_DESKTOPDIRECTORY 10 C:\Users\Iwao\Desktop CSIDL_DRIVES 11 CSIDL_FAVORITES 06 C:\Users\Iwao\Favorites CSIDL_FONTS 14 C:\WINDOWS\Fonts CSIDL_HISTORY 22 C:\Users\Iwao\AppData\Local\Microsoft\Windows\History CSIDL_INTERNET 01 CSIDL_INTERNET_CACHE 20 C:\Users\Iwao\AppData\Local\Microsoft\Windows\INetCache CSIDL_LOCAL_APPDATA 1c C:\Users\Iwao\AppData\Local CSIDL_MYDOCUMENTS 0c CSIDL_MYMUSIC 0d C:\Users\Iwao\Music CSIDL_MYPICTURES 27 C:\Users\Iwao\Pictures CSIDL_MYVIDEO 0e C:\Users\Iwao\Videos CSIDL_NETHOOD 13 C:\Users\Iwao\AppData\Roaming\Microsoft\Windows\Network Shortcuts CSIDL_NETWORK 12 CSIDL_PERSONAL 05 C:\Users\Iwao\Documents CSIDL_PRINTERS 04 CSIDL_PRINTHOOD 1b C:\Users\Iwao\AppData\Roaming\Microsoft\Windows\Printer Shortcuts CSIDL_PROFILE 28 C:\Users\Iwao CSIDL_PROGRAM_FILES 26 C:\Program Files CSIDL_PROGRAM_FILES_COMMON 2b C:\Program Files\Common Files CSIDL_PROGRAM_FILES_COMMONX86 2c C:\Program Files (x86)\Common Files CSIDL_PROGRAM_FILESX86 2a C:\Program Files (x86) CSIDL_PROGRAMS 02 C:\Users\Iwao\AppData\Roaming\Microsoft\Windows\Start Menu\Programs CSIDL_RECENT 08 C:\Users\Iwao\AppData\Roaming\Microsoft\Windows\Recent CSIDL_RESOURCES 38 C:\WINDOWS\resources CSIDL_RESOURCES_LOCALIZED 39 CSIDL_SENDTO 09 C:\Users\Iwao\AppData\Roaming\Microsoft\Windows\SendTo CSIDL_STARTMENU 0b C:\Users\Iwao\AppData\Roaming\Microsoft\Windows\Start Menu CSIDL_STARTUP 07 C:\Users\Iwao\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup CSIDL_SYSTEM 25 C:\WINDOWS\system32 CSIDL_SYSTEMX86 29 C:\WINDOWS\SysWOW64 CSIDL_TEMPLATES 15 C:\Users\Iwao\AppData\Roaming\Microsoft\Windows\Templates CSIDL_WINDOWS 24 C:\WINDOWS CSIDL_xxxxxxx 0f CSIDL_xxxxxxx 32 CSIDL_xxxxxxx 33 CSIDL_xxxxxxx 34 CSIDL_xxxxxxx 3c CSIDL_xxxxxxx 3e CSIDL_xxxxxxx 3f
VC 6 RC ファイル内の DISCARDABLE
VC6 , VC8 リモートデバッグ
VC6
mk:@MSITStore:J:MSDNvccore.chm::/html/_core_setting_up_the_remote_debug_monitor.htm
http://support.microsoft.com/kb/241848/ja
https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/241848
以下のファイルをターゲット PC にコピー
1998-07-06 | 00:00 | 24,651 | MSVCMON.EXE |
2004-02-27 | 00:00 | 106,566 | DM.DLL |
2000-07-15 | 00:00 | 184,320 | MSDIS110.DLL |
2008-04-14 | 11:25 | 413,696 | MSVCP60.DLL |
2004-02-17 | 00:00 | 278,581 | MSVCRT.DLL |
2000-07-15 | 00:00 | 28,746 | TLN0T.DLL |
VC7
ms-help://MS.VSCC/MS.MSDNVS.1041/vsdebug/html/vctskInstallingRemoteDebugMonitor.htm
http://msdn.microsoft.com/ja-jp/library/aa291492(VS.71).aspx
C:\Program Files\Microsoft Visual Studio .NET\Common7\Packages\Debugger\
msvcmon.exe
msvcr70.dll
NatDbgTLNet.dll
NatDbgDM.dll
デバッグを開始できません.
プログラム ” を開始できません。
現在のユーザーのコンテキストで実行中のリモート コンピュータに MSVCMON がありません。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Machine Debug Manager]
"AllowLaunchAsOtherUser"=dword:00000001
うまく起動できない.
VC8
http://msdn.microsoft.com/ja-jp/library/ey7ec813.aspx
http://msdn.microsoft.com/ja-jp/library/ey7ec813(VS.80).aspx
http://msdn.microsoft.com/ja-jp/library/bt727f1t(VS.80).aspx
MSVSMon.exe
DbgHelp.dll
MSDbgUI.dll
http://support.microsoft.com/kb/908099/ja
VC9
http://msdn.microsoft.com/ja-jp/library/bt727f1t.aspx
http://msdn.microsoft.com/ja-jp/library/bt727f1t(VS.100).aspx
MSVSMon.exe
UNICODE と VC6 → VC8
VC6 UNICODE
wWinMainCRTStartup
VC6 → VC8
http://cid-535f5973454c1292.skydrive.live.com/self.aspx/.Public/MFC/VC6%e2%86%92VC8.txt
VC6→VC8.txt
「プリコンパイル済みヘッダファイル」 | $(IntDir)/$(TargetName).pch |
「C/C++」-「出力ファイル」 「ASMリスト...」 「オブジェクト...」 「プログラムデータベース...」 |
$(IntDir)/ |
「リンカ」-「全般」の「出力ファイル」 | $(OutDir)/$(ProjectName).exe |
リンカ」-「デバッグ」 「プログラムデータベースファイルの生成」 |
$(OutDir)/$(ProjectName).pdb |
「リソース」-「全般」の「リソースファイル名」 | $(IntDir)/$(InputName).res |
「MIDL」-「出力」の「タイプライブラリ」 | $(IntDir)/$(ProjectName).tlb |
「ブラウザ情報」-「全般」の「出力ファイル」 | $(OutDir)/$(ProjectName).bsc |
Windows シンボリック リンク
何年か前から VC のビルドでの出力先を C:\Temp 以下に指定している.
c:\Temp\i_Tools\i3DV\Release.060
VC 7 以降では次の様な感じ.
c:\Temp\i_Tools\$(ProjectName)\$(ConfigurationName).070
c:\Temp\i_Tools\$(ProjectName)\$(Configuration).143\$(Platform)\
これで,どの環境でビルドしてもそれなりに動作する様にしている.
共通のソースは NAS でドライブとして割り当て,プロジェクトはローカルや NAS .
また,出来上がった exe は CopyNewF.exe でコピーしている.
Win10 に VC 6 を入れているが,メイン環境に SP6 が当てられない.仮想環境ではうまく入ったマシンもある.
単体テストの範囲ではメイン環境の VC 6 RTM で問題ないが,リリースビルドでうまくない現象がある.
VS 6 RTM bug … ?
これらのことがあり VC 6 でビルドした結果を,メイン PC の C:\Temp\ 以下にまとめられないかと…
また,近いうちに PC が新しく入る予定だが,SSD の容量がそれほど多くないのでそれを含めてのもの.
仮想環境でホスト PC の \\Z170S0\C_Temp を o:\ として割り当てている.
次の様な指定で,仮想環境で o:\ を C:\Temp としてのシンボリック リンクを作成.
mklink /D c:\Temp o:\
これで意図した通りに動作する様にはなったが,デバッグ版では互換性がないみたいでうまくテストできない.
結局ホストの追加のドライブを指定することに.
mklink /D c:\Temp e:\C_Temp.VC6
これで暫く使ってみる.
今までショートカット lnk を使ってきたが,置き換えができそうな所がありテスト的に設定.
D:\Tmp_link>mklink /D .\D2_i_u \\DS220\web\i_Tools\upload\share
.\D2_i_u <<===>> \\DS220\web\i_Tools\upload\share のシンボリック リンクが作成されました
D:\Tmp_link>mklink /D .\D2_T_u \\DS220\web\Test\upload
.\D2_T_u <<===>> \\DS220\web\Test\upload のシンボリック リンクが作成されました
D:\Tmp_link>mklink /D .\D1_i_u \\DS116\web\i_Tools\upload\share
.\D1_i_u <<===>> \\DS116\web\i_Tools\upload\share のシンボリック リンクが作成されました
D:\Tmp_link>mklink /D .\D1_T_u \\DS116\web\Test\upload
.\D1_T_u <<===>> \\DS116\web\Test\upload のシンボリック リンクが作成されました
D:\Tmp_link>dir
ドライブ D のボリューム ラベルは ボリューム です
ボリューム シリアル番号は B630-F57A です
D:\Tmp_link のディレクトリ
2022/09/28 17:31 <DIR> .
2022/09/28 17:31 <DIR> ..
2022/09/28 17:30 <SYMLINKD> D1_i_u [\\DS116\web\i_Tools\upload\share]
2022/09/28 17:31 <SYMLINKD> D1_T_u [\\DS116\web\Test\upload]
2022/09/28 17:30 <SYMLINKD> D2_i_u [\\DS220\web\i_Tools\upload\share]
2022/09/28 17:30 <SYMLINKD> D2_T_u [\\DS220\web\Test\upload]
0 個のファイル 0 バイト
6 個のディレクトリ 435,247,796,224 バイトの空き領域
D:\Tmp_link>
エクスプローラでは次の様に見える.
ジャンクション名をクリックした時の動作が,微妙に異なることがある様に感じる.
リンク先に切替わったり,そのまま展開されたりする.
ある程度意図したことができる様なので,これもこのまま使用してみる.
2022/10/21
新しい Win11 PC の C ドライブを圧迫しないため,次の様にして NAS 上に置くことにした.
mklink /D C:\Temp \\AS5202T\Temp\C_Temp
NAS の再起動などを意識する必要はあるが,速度なども含め,今の所問題はなさそう.
それでちょっとした違いを見つけた.
AS5202T VirtualBox に WS2022
ASUSTOR NAS AS5202T の VirtualBox 環境に Windows Server 2022 のインストール.
最初,リモート接続するための設定箇所がわからなかった.
Net Address の所に,アドレス(127.0.0.1 だったと思う)が入っていて,それをクリアする必要があった.
あとは,通常の手順.
「Ctrl」+「Alt」+「Delete」にあたるものがわからなかったが,これは,「Ctrl」+「Alt」+「End」.
マウスの位置がずれていたが,VirtualBox Guest Additions を入れて対応.
VS 6 と SP6 を入れて,今の所デバッグなどもできている.
https://dev.mish.work/wordpress/2021/06/10/win-10-vs6-install/
2021/11/10
リモートデスクトップ内の画面コピーは,「Ctrl」+「Alt」+「+」.
アクティブウィンドウのコピー 「Ctrl」+「Alt」+「-」.
2021/11/29
LAN 上の他の PC からの参照は問題なさそうだが,WS2022 から他の PC への参照が非常に遅い.
以前同じ様な環境に Win10 を入れていたが,この時も他からの参照のみだったので気づかなかった.
PC 上の仮想マシン は,速くはないが使えるレベル.NAS なので,これが限度か?
FBX SDK 2020.3.7
FBX SDK のダウンロードページを見ると 2020.3.7 があった.
インストールしてみると,今までと lib 以下が異なる.
2020.3.4 までは VS のバージョンでわかれていたのに,今回は lib\x64\debug\ などになっている.
ビルドしてのテストなどはまた今度落ち着いた時に …
設定などは次の所に書いています.
https://jml.mish.work/index.php/cpp/fbx-sdk-setting.html
FBX Review は exe が置いてあった.
Autodesk FBX Review – Windows 64 Bit
mfc140ud.dll が見つからない …
「mfc140u.dll が見つからない…」の場合は
Microsoft Visual C++ 再頒布可能パッケージ
VC 2019 でデバッグビルドして実行すると,
—————————
Test.exe – システム エラー
—————————
mfc140ud.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。
—————————
OK
—————————
ファイル名の所は MSVCP140D.dll などもある.
また exe は VC 2015 以降でデバッグビルドしたもの.
原因はわかっている.先日 VS 2022 のアップデートがあった.
その時 Win11 環境はうまくできたが Win10 環境では何故か失敗したため.
どうしたものか…
「VS Installer」の「VS 2022」で「変更」を選択,そのまま進めるとダウンロード,インストールが始まった.
「修復」の方が良かったみたいだが …
::bezier(ps,p1,p2,pe)
::bezier に与えている分割数.
Vd2 ps(0.0,0) ;
Vd2 p1(0.0,1) ;
Vd2 p2(1.0,1) ;
Vd2 pe(1.0,0) ;
Vd2 pm = (p1+p2)/2 ;
vv_PLF vvplf ;
for (long dv=1 ; dv<10 ; dv++) {
v_PLF v_plf ;
Vd2A bz2 = ::bezier(ps, pm , pe,dv+1) ;
Vd2A bz3 = ::bezier(ps,p1,p2,pe,dv+1) ;
Vd3A b23 = ::ToVd3A(bz2) ;
Vd3A b33 = ::ToVd3A(bz3) ;
PLF plf_2(PLF::line,::ToVd4A(b23)) ;
PLF plf_3(PLF::line,::ToVd4A(b33)) ;
v_plf.push_back(plf_2) ;
v_plf.push_back(plf_3) ;
vvplf.push_back(v_plf) ;
}
高 DPI CToolBar のリサイズ
CToolBar を使用した 自前のコード .
CDialogBar や CStatusBar はスケーリングしてくれるのに,CToolBar は対応しない?
以前は設定などで変更可能なコードにしていたが,DPI を求める方法に.
if (newExtendSize == CSize(0,0)) {
double dpi_s = ::GetDPI_scale(toolBar->GetSafeHwnd()) ; // ::GetDpiForWindow()/96.
if (dpi_s > 1) {
CToolBarCtrl& tbCtrl = toolBar->GetToolBarCtrl() ;
CSize orgSize = tbCtrl.GetButtonSize() ;
CSize newSize = orgSize ;
newSize.cx = int(orgSize.cx*dpi_s) ;
newSize.cy = int(orgSize.cy*dpi_s) ;
newExtendSize.cx = newSize.cx - orgSize.cx ;
newExtendSize.cy = newSize.cy - orgSize.cy ;
resizeType = 'R' ;
}
}
あとは既存コードの,ビットマップのリサイズと CToolBar::SetSizes を呼出せば良さそう.
CMFCToolBar は DPI を正しく処理しているみたいで,その部分のコード.
…\VC\…\atlmfc\src\mfc\afxtoolbar.cpp の CMFCToolBar::LoadToolBarEx .
まだ幾つか問題はあるが,今回の対応部分としてはこれで良さそう.
更にツールバー上のコンボボックスのスケーリングは次の様にした.
{
int width = 50 ;
{
double dpi_s = 1. ;
dpi_s = ::GetDPI_scale(AfxGetMainWnd()->GetSafeHwnd()) ;
dpi_s = ::GetDPI_scale( m_wndToolBar.GetSafeHwnd()) ;
dpi_s = ::GetDPI_scale( this->GetSafeHwnd()) ;
if (dpi_s > 1.) {
width = int(width*dpi_s) ;
}
}
m_wndToolBar.SetButtonInfo (19,ID_COMBO_ANGLE,TBBS_SEPARATOR,width) ;
CRect rectCombo ;
m_wndToolBar.GetItemRect (19,&rectCombo) ;
rectCombo.top = 1 ;
rectCombo.bottom = rectCombo.top + 300 ;
if (!m_ComboAngle.Create(CBS_DROPDOWN | WS_VSCROLL | WS_VISIBLE,rectCombo,&m_wndToolBar,ID_COMBO_ANGLE)) {
TRACE0("Failed to ComboBox\n");
return -1;
}
m_ComboAngle.SetFont(m_wndToolBar.GetFont()) ;
m_ComboAngle.AddString(_T(" 0.")) ;
m_ComboAngle.AddString(_T("10.")) ;
// ...
m_ComboAngle.AddString(_T("90.")) ;
}