VirtualBox と WSL
Windows Subsystem for Linux を使おうと,機能の有効化を設定してみた.
すると,はっきりはわかっていないが,VirtualBox が不安定になった気がする.
今試すと起動するが,先日は VirtualBox の仮想マシンが起動しないこともあった.
WSL を無効化して様子見.
VS 2019 インストール
Win10 環境に VS 2005 ~ 2019 までをインストール.
XP でも動作する exe を作成する には,「プロジェクトのプロパティ」-「プラットフォーム ツールセット」を「Visual Studio 2017 – Windows XP (v141_xp)」に.
------ ビルド開始: プロジェクト: i3DV, 構成: Release Win32 ------ C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Platforms\Win32\PlatformToolsets\v141_xp\Toolset.targets(39,5): warning MSB8051: Windows XP をターゲットとするサポートは非推奨であり、Visual Studio の将来のリリースで提供されなくなります。詳細については、https://go.microsoft.com/fwlink/?linkid=2023588 をご覧ください。 StdAfx.cpp _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h) ChildFrm.cpp \\devs\documents\develop\_.src\__iwao\xml_ms_.hxx(17): warning C4192: 'ISequentialStream' を自動的に除外し、タイプ ライブラリ 'msxml6.dll' をインポートします \\devs\documents\develop\_.src\__iwao\xml_ms_.hxx(17): warning C4192: '_FILETIME' を自動的に除外し、タイプ ライブラリ 'msxml6.dll' をインポートします i3DV.cpp i3DVDoc.cpp i3DVView.cpp MainFrm.cpp ... コードを生成中... C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include\sal.h(2866): warning RC4005: '__useHeader' : redefinition C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include\sal.h(2876): warning RC4005: '__on_failure' : redefinition i3DV142.vcxproj -> c:\Temp\i_Tools\i3DV\Release.142\Win32\i3DV.exe プロジェクト "i3DV142.vcxproj" のビルドが終了しました。 ========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ ==========
「Visual Studio 2019 (v142)」に戻してビルドすると,
------ ビルド開始: プロジェクト: i3DV, 構成: Release Win32 ------ StdAfx.cpp C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.20.27508\atlmfc\include\afx.h(62): fatal error C1083: include ファイルを開けません。'new.h':No such file or directory プロジェクト "i3DV142.vcxproj" のビルドが終了しました -- 失敗。 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
「Windows SDK バージョン」が「7.0」になっているので「10.0 (最新のインストールされているバージョン)」に.
2024/05 VC 6 から VC 2019 への移行
VS 2013 インストールに失敗
Win10 に,以前ダウンロードした VS 2013 iso でインストールしようとすると途中で失敗する.
ja_visual_studio_professional_2013_with_update_5_x86_dvd_6815755.iso
丁度一年前にダウンロードしたもので,ファイルサイズは 3.71 GB .
検索すると,
VS 2013 Professional insatlation problem with microsoft visual studio 2013 vsgraphics helper dependencies incorrect function
どうも iso が壊れている?みたいで,もう一度落とし直した.
ファイル名は同じだがサイズが異なる.
もう一度インストールしてみるとうまくいった.
VirtualBox に Win10
今ある Win10 環境をバックアップの目的で VHD に.
Disk2vhd.exe で VHD に.
VirtualBox で,仮想マシンを追加して起動しようとすると,
Press ESC in 1 seconds to skip startup.nsh any other key to continue.
今度は次の様に他の情報も含めて VHD に.
新しい VHD でもう一度起動しようとすると,
FATAL: No bootable medium found! System Halted.
VirtualBox の設定で,「EFI を有効化」してうまく起動した.
Win 10 設定
新しく Win10 環境が手に入ったので,その設定のメモ.
エクスプローラの設定
「エクスプローラ」の「ファイル」-「オプション」.
「開いているフォルダーまで展開」にチェック.
「タイトルバーに完全なパスを表示する」にチェック.
「ログオン時に以前のフォルダーウィンドウを表示する」にチェック.
「登録されている拡張子は表示しない」のチェックを外す.
バージョンの表示
HKEY_CURRENT_USER\Control Panel\Desktop
PaintDesktopVersion
ファイルマネージャは次の所から.
https://github.com/Microsoft/winfile/releases
以前のバージョンより良くなっている.
電源メニューに「休止状態」の表示
https://dynabook.com/assistpc/faq/pcdata2/016713.htm
3DS 保存でアプリケーションエラー
次の様な 3DS 形式で保存するコード.
データ部分が空の時,アプリケーションエラー.
bool save_3DS (FILE* ofp,const tDS_Chunk& chnk) { if (ofp == NULL) { return false ; } { u_16 id = chnk.GetID() ; u_32 len = chnk.GetLen() ; v_u__8 data= chnk.GetData() ; ::fwrite(&id, 1, sizeof(u_16), ofp) ; ::fwrite(&len, 1, sizeof(u_32), ofp) ; ::fwrite(&data[0], data.size(), sizeof(u__8), ofp) ; } for (size_t index=0 ; index<size_t(chnk.GetChildCount()) ; index++) { tDS_Chunk child = chnk.GetChild(long(index)) ; bool result = ::save_3DS(ofp,child) ; if (!result) { return false ; } } return true ; }
::fwrite(&data[0], data.size(),sizeof(u__8), ofp) ; がうまくない.
次の様な感じでコードを修正.
if (data.size() > 0) { ::fwrite(&data[0], data.size(), sizeof(u__8), ofp) ; }
VC 6 や VC 14 では,たまたまだと思うがエラーにならなかった.
C1189 : WINDOWS.H already …
幾つかの,MFC を使用していないプロジェクトをビルドしていると,
--------------------構成: GAtoSTL - Win32 Release--------------------
コンパイル中...
GAtoSTL.cpp
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE\afxv_w32.h(14) : fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
cl.exe の実行エラー
GAtoSTL.obj - エラー 1、警告 0
MFC アプリでは windows.h をインクルードしてはいけないというエラー.
最近(2019/03)変更したコードで,意図せず Afx.h などを利用するようになってしまった所があると思われる.
今回の場合,デバッグ版や Linux 環境,VC 14 などでは通っている.
次の様な内容を include している部分に挿入して確認すると,
#pragma message (“message 1”)
Zip.hxx がうまくない.
#ifndef I_SUPPORT_ZIP // ここは個人的なコードです #ifdef _DEBUG #include "i_Zip.hxx" // STL と Windows.h #else #include "a_Zip.hxx" // AfxDisp などを使用 #endif #endif
a_Zip.hxx は zip を扱う古い形式(MFC を使用している)のもの.
i_Zip.hxx は MFC を使用しないように変更したもの.
a_Zip.hxx を使用しないように変更.
2019/08/26 追加
このエラーが表示される原因は,
MFC 関連の afx*.h がインクルードされる前に Windows.h が読み込まれているため.
MFC を使用しているプロジェクトで StdAfx.h を使用してない場合は,
ソース内のヘッダのインクルードで最初に #include <afxwin.h> などとすれば良い.
2020/02/14
それから,作成したヘッダファイル内では Afx*.h のインクルードはしない方が良さそう.
https://dev.mish.work/wordpress/2020/02/08/lnk2005-operator-delete/
次のエラーの場合はこちら.
error C1189: #error: Please use the /MD switch for _AFXDLL builds
fatal error C1189: #error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
2020/10
コンソール AP で Windows.h を使用する時の hxx を用意した.
コンソール AP での define
_AFXDLL で判断しているため 「MFC のスタティックライブラリを使用」には対応できない .
認証要請が、このドメイン名に …
Let’s Encrypt 証明書を手動で更新していて,
「最大の認証要請が、このドメイン名に到着しました。」のエラーに.
作成や更新を,何度も要求した影響か?
DS115j は最近自動で更新されているみたい.
DS116 は,2019/01 に更新した時のまま.
その後どうなったかを試していて,DS115j の証明書がうまく取得できていない.
2020/04/14
その後更新されないこともあったが,今は特に問題なし.