ホーム » Windows (ページ 8)
「Windows」カテゴリーアーカイブ
CMutex の使用でデッドロック?
何年も前(2015/11?)からなのかもしれないが,
今の PC になってから作成した exe が起動時やサムネイルの表示などで停止する現象が時々発生している.
発生する頻度が低いのと,現象が絞り切れていなかったのでそのままになっていた.
今日,デバッグしていると exe が起動しない.
その時までに起動済みのものは動作しているが,止まってしまうものもあり.
以前この現象が発生した時は再起動することで回避したが,今回はもう少し調べてみることにした.
デバッガで追いかけると CMutex の Lock(INFINITE) で戻って来ない.
使用している所は次の様な感じ.
{ _MutexS_ mt(FALSE,_T("DocIB::GetBitmap")) ; MutexS m(&mt) ; { // 共有のリソースに対する操作 } }
通常の動作では Unlock されないことがある様には思えないが…
デバッガを使っていて Lock 中に exe を強制終了してしまったか?
_MutexS_ UseGdiPlus::ME(FALSE,_T("UseGdiPlus::GP_Token")) ; { MutexS me(&ME) ; if (IsInitialized()) { // ... } // .. }
いい修正方法が思い浮かばないので,とりあえずメモ.
2021/02/19
その後いろいろと検索して調べたが,通常の動作ではロックされたままとなることはなさそう.
https://docs.microsoft.com/ja-jp/dotnet/standard/threading/mutexes
表示されてはないが起動したままの exe があるかと思い,タスクバーを見たが特になさそう.
昨日,わかっているものの幾つかは「タスクの終了」で終わらせている.
そうなるとロックされている Mutex は,自前のシェルエクステンションと思われる.
「タスクバー」に表示されている「エクスプローラ」は終了させたが,まだ誰かがロックしている.
画面には表示されていない explorer.exe が幾つかか存在したので,すべて終わらせた.
これでロックされた Mutex は解放されたみたい.
今度は,デバッガを使用してうまく起動しなかった exe をいろいろ試すことに.
デバッガで Lock した直後にブレイクポイントを設定して停止.
当然であるが他の exe を起動すると Lock の所で止まってしまう.
デバッガで Unlock の後まで実行すると,他の exe も止まっていた所から動き出す.
デバッガで Lock した直後に停止させて,他の exe を起動.
デバッガで「デバッガの停止」してみる(Unlock していない)と,他の exe が動き出す.
これらの動作を見ると,使い方としてはそれ程間違ってはなさそう.
コードを追いかける限りでは,「マズい」所がわからない.
複数のプロセスから呼ばれた時に意図しないタイミングとなってしまう所があるのか?
ある程度はっきりしたのは,自前のシェルエクステンションの GDIPlus 関係の時の Lock で止まっていること.
SetConsoleCtrlHandler
コンソール AP で,キー入力による中断ができないかと…
やりたいことは,時間がかかるコンソール AP で,その途中までの計算結果を保存すること.
「コンソールアプリ 中断」で検索すると ::SetConsoleCtrlHandler を使えば良さそう.
MSDN を「PHANDLER_ROUTINE」で検索.次のサンプルが見つかった.
そのタイトル「Registering a Control Handler Function」で検索.
コントロール ハンドラー関数の登録
https://www.installsetupconfig.com/win32programming/
https://www.installsetupconfig.com/win32programming/winconsolecharapplication8index.html
T90Chi Windows Update その後
以前 Windows Update で,再起動を繰り返す状態になり そのままだった.
その後,幾つかの方法を試してみたが,BIOS 画面に入れずそのままとなっていた.
その時,音量の「-」と「電源ボタン」の同時長押しで起動すれば良い とあった.が,うまく入れないでいた.
久しぶりに調べてみると,USB キーボードを接続すれば良いとあったので試すとうまく BIOS 画面に入れた.
BIOS の起動は「F2」または「Delete」.「ESC」を押したときは「Please select boot device:」となる.
また,同じ様な状況になった人の記事も幾つかある.
ここまでは,昨日見つけた情報.
キーボード,マウス,Win10 インストール用 USB メモリ を接続して「ESC」を押して起動.
インストールを進めて…
上の「アップグレード」は選択してもその先に進めない.「カスタム」を選択.
4つのパーティションを削除.
「次へ」.
ライセンス認証は以前のものがそのまま引き継がれたみたい.
まだ設定は足りないが,何とか使えるようにはなった.
ドライブ名からリモート名に
ネットワークドライブ名から UNC での表現に変換するコード.
#include <clocale> #include "i_trace.hxx" //#include <winnetwk.h> #pragma comment (lib,"mpr.lib") tstring W_get_remote_name (LPCTSTR path_) { tstring dpath = path_ ; if (dpath.size() < 2) { return dpath ; } tstring drive = dpath.substr(0,2) ; tstring _path = dpath.substr(2) ; tstring remote_path ; if (drive.length() == 2) { if (drive[1] == _T(':')) { u_16 d_t = ::GetDriveType(drive.c_str()) ; if (d_t == DRIVE_REMOTE) { DWORD buf_size = MAX_PATH ; tstring remote_name ; remote_name.resize(buf_size+1) ; ::WNetGetConnection(drive.c_str(),&remote_name[0],&buf_size) ; if (!remote_name.empty()) { remote_path = remote_name.c_str() + _path ; } } } } if (remote_path.empty()) { return dpath ; } return remote_path ; } bool Test (void) { for (long index=0 ; index<26 ; index++) { tstring drv ; drv += TCHAR(_T('A')+index) ; drv += _T(":\\") ; // if (index%2 == 0) { u_16 d_t = ::GetDriveType(drv.c_str()) ; if (d_t == DRIVE_REMOTE) { drv += _T("*.*") ; v_tstring files = ::EnumFiles(drv.c_str()) ; if (files.size() > 0) { drv = files[0] ; } } } drv += _T(" ") ; tstring info = drv.substr(0,20) + _T("\t") + W_get_remote_name(drv.c_str()) ; { std::tout << info << std::endl ; } } return true ; } int _tmain (int argc,TCHAR* argv[]) { _tsetlocale(LC_ALL,_T("")) ; { ::Test() ; } return 0 ; }
「 net use 」とコマンド入力することで似た様なことを確認できる.
管理者で起動した PowerShell の Get-SmbConnection で SMB のバージョンを確認できる.
ファイル共有で使われている SMB のバージョンを見る
フォルダの更新日時の変更
今までファイルの更新日時の変更は使っていた.
https://www.vector.co.jp/soft/winnt/util/se500182.html
が,このツールでフォルダの更新日時を変更しようとするとできない.
コードは CFile::SetStatus を使用している.
CFileStatus fs ; CFile::GetStatus(file,fs) ; fs.m_mtime = newTime ; CFile::SetStatus(file,fs) ;
CFile::SetStatus の中(…\atlmfc\src\mfc\filest.cpp)を見ると ::SetFileTime を使用している.
また Linux などでも使える utime(…\crt\src\utime.c)も ::SetFileTime を使っている.
VC 6 で作成したものをデバッガで追いかけると ::CreateFile で 0xffffffff が返ってきている.
ASUSTOR NAS で試すと,特に問題なく変更できる.
Iwao@AS5202T:/volume1/home/Iwao/gcc_test/Test/t_linux/t_mtime/t_utime $ cat t_utime.cpp #include <clocale> #include "i_trace.hxx" #include "filetime.hxx" #include "itls_tmp.hxx" #include "c_which.hxx" int _tmain (int argc,TCHAR* argv[]) { _tsetlocale(LC_ALL,_T("")) ; { tstring temp_path = ::Get_i_Tools_tmp_date() ; tstring fold_path = ::Path_AddLastSP(temp_path) + ::Now_Format(_T("%H%M%S")) ; tstring file_path = ::Path_AddLastSP(temp_path) + ::Now_Format(_T("%H%M%S")) + _T(".tmp") ; { ::Folder_Create (fold_path) ; ::File_CreateEmpty(file_path) ; } { time_t f_time = ::File_GetMTime(file_path.c_str()) ; f_time-= 3600*24*7 ; ::File_SetMTime(file_path.c_str(),f_time) ; ::File_SetMTime(fold_path.c_str(),f_time) ; } { tstring cmd = tstring(cmd_ls_la) + _T(" ") + ::QuotM_Add_Auto(temp_path) ; _tsystem(cmd.c_str()) ; } } return 0 ; } Iwao@AS5202T:/volume1/home/Iwao/gcc_test/Test/t_linux/t_mtime/t_utime $ g++ t_utime.cpp -Wall Iwao@AS5202T:/volume1/home/Iwao/gcc_test/Test/t_linux/t_mtime/t_utime $ ll total 136 drwxrwxrwx 2 Iwao users 4.0K Nov 7 16:24 ./ drwxrwxrwx 3 Iwao users 4.0K Nov 7 15:32 ../ -rwxr-xr-x 1 Iwao users 122.7K Nov 7 16:24 a.out* -rwxrwxrwx 1 Iwao users 838 Nov 7 16:22 t_utime.cpp* Iwao@AS5202T:/volume1/home/Iwao/gcc_test/Test/t_linux/t_mtime/t_utime $ ./a.out total 0 drwxr-xr-x 3 Iwao users 80 Nov 7 16:24 . drwxr-xr-x 3 Iwao users 60 Nov 7 16:24 .. drwxr-xr-x 2 Iwao users 40 Oct 31 16:24 162451 -rw------- 1 Iwao users 0 Oct 31 16:24 162451.tmp Iwao@AS5202T:/volume1/home/Iwao/gcc_test/Test/t_linux/t_mtime/t_utime $
2024/01/04
フォルダの更新日時の設定
Win10 他の PC が表示されない
::SHBrowseForFolder を使用している所で,最近 PC 名でアクセスできないと問合せが…
私自身はエクスプローラで直接入力していたので特に困ってはなかったが,ちょっと調べたのでメモ.
「Win10 他の PC が表示されない」で検索すると幾つかの対応方法が見つかる.
Windows10 – ネットワーク上のコンピューターが表示されない時の対処法
Windows 10 にてネットワークコンピュータが表示されない場合
【解決】ネットワークでコンピューターや共有フォルダが表示されない【Windows10】
Windows 10のエクスプローラの[ネットワーク]にPCが表示されない場合の対処方法
SMBv1 は、Windows 10 バージョン1709、Windows Server バージョン1709以降のバージョンでは既定でインストールされません。
「SMB 1」を入れる様な記述も多いが,「WS-Discovery」を利用する方法で…
動作を確認するために,タスクマネージャのサービスで「Function Discovery Resource Publication」を「開始」.
エクスプローラで見える様になる.
保有している NAS で,QNAP TS-253D は表示されている.
Synology NAS DS116 は「Windowsネットワーク探索を有効化して…」のチェックで表示されるようになる.
Synology NAS DS218jをWindowsからネットワーク探索
その他の NAS では設定がわからず,直接入力で対応.
実際はネットワークドライブとして割り当てたり,ショートカットを作成したりしている.
2021/11/10
Win10 などで,Windows Update してからアクセスできなくなった.
この場合は「ゲストログオンを有効にする」必要がある.
https://dev.mish.work/wordpress/2021/11/05/win-2022-classic-asp/
https://youtm-log.com/failure/pc-failure/anzendenai/
2024/12/05
サーバの共有フォルダにアクセスできなくなった場合は,共有アクセス用のアカウントを追加する.
https://dev.mish.work/wordpress/2024/11/15/add-user-win11-24h2/
サーバ上のフォルダ名を記憶可能なツールを追加.
https://download.mish.work/iTls_2024_11.zip
コンソール AP での define
コンソール AP で Windows.h や Afx.h を読み込んだ時のエラーに対応するために i_def_aw.hxx を用意.
_AFXDLL で判断しているため「MFC のスタティックライブラリを使用」には対応できない.
// (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 #ifdef _MSC_VER #ifdef _AFXDLL #include <Afx.h> #else #include <Windows.h> #endif #endif #ifdef _MFC_VER // ... #endif
2022/07/27
その後,Windows.h を使用するコードを書いていてのまとめ.
#include "i_def_aw.hxx" // #include <Windows.h>
Win32 API のみで書いていて,MFC を利用する可能性がある場合は,この様に置き換え可能と思われる.
そうでない場合は,それらを利用するソースの先頭で Afx.h または i_def_aw.hxx をインクルードすれば良い.
https://dev.mish.work/wordpress/?s=i_def_aw
2022/08/01
今回書いた FVersion.hxx の様に MFC を利用しないものは,Windows.h の方が良い.
MFC コードが混在する場合 は,i_def_aw.hxx の利用と _MFC_VER での振り分けが良さそう.
robocopy でエラー 50 (0x00000032)
次の様なコマンドでファイルをバックアップしていると,
robocopy "\\DevX\Public\Documents\Develop" "\\AS5202T\Public\Document\Develop" /e /xo /xf *.bak ... 6 \\DevX\Public\Documents\Develop\VC_Test\T_mem\T_PhysF\ 8 \\DevX\Public\Documents\Develop\VC_Test\T_STL\ 2020/09/11 10:03:08 エラー 50 (0x00000032) コピー先ディレクトリにアクセスしています \\AS5202T\Public\Document\Develop\VC_Test\T_STL\ この要求はサポートされていません。 30 秒間待機しています... 再試行しています...
何かの拍子に開いたままの状態になってしまったみたいで ASUSTOR NAS で「切断」することで対応.
* 使用しているユーザを切断しない様に注意.
FindExecutable と C2664
::FindExecutable の動作を確認しようと思い次の様なコードを書いた.
#include <clocale> #include <iostream> #include <Windows.h> #include "i_define.hxx" #include "tstring.hxx" tstring Get_doc_exe (LPCTSTR doc) { tstring exe_path ; exe_path.resize(MAX_PATH,0) ; ::FindExecutable(doc,NULL,&exe_path[0]) ; return exe_path.c_str() ; } int _tmain (int argc,TCHAR* argv[]) { _tsetlocale(LC_ALL,_T("")) ; { tstring buf ; buf.resize(1000) ; { while (std::terr << _T("file ? =") , std::tin.getline(&buf[0],buf.size())) { tstring str = buf.c_str() ; if (str == _T("q")) { break ; } else if (str == _T("Q")) { break ; } // str = ::QuotM_Del_All(str) ; if (str.empty()) { continue ; } // if (::File_IsNothing(str)) { continue ; } std::tout << ::Get_doc_exe(str.c_str()) << std::endl ; } } } return 0 ; }
MBCS でビルドすると問題ないが,UNICODE にすると,
--------------------構成: get_exe - Win32 Release-------------------- コンパイル中... get_exe.cpp C:\Documents and Settings\All Users\Documents\Develop\VC_Test\PC_doc\get_exe\get_exe.cpp(37) : error C2664: 'class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &__thiscall std::basic_istream<unsigned short,struct std:: char_traits<unsigned short> >::getline(unsigned short *,int)' : 1 番目の引数を 'char *' から 'unsigned short *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。 C:\Documents and Settings\All Users\Documents\Develop\VC_Test\PC_doc\get_exe\get_exe.cpp(37) : fatal error C1903: 直前のエラーを修復できません; コンパイルを中止します。 cl.exe の実行エラー get_exe.exe - エラー 2、警告 0
C2664 については ここ .
Windows.h の include を i_define.hxx より後に.
::FindExecutable ではうまくない様な記述もあるが,今回の目的にはこれで良いかなと思う.
https://dobon.net/vb/dotnet/system/findassociatedexe.html
https://itl.mydns.jp/…/get_exe_2020_09.zip
更にちょっと面白い動作があったので…
#include "i_define.hxx" #include "tstring.hxx" #include <Windows.h> #include <clocale> #include <iostream> int _tmain (int argc,TCHAR* argv[]) { _tsetlocale(LC_ALL,_T("")) ; { tstring buf ; buf.resize(1000) ; { while (std::terr << _T("file ? =") , std::tin.getline(&buf[0],buf.size())) { tstring str = buf.c_str() ; if (str == _T("q")) { break ; } else if (str == _T("Q")) { break ; } if (str.empty()) { continue ; } ::ShellExecute(NULL,NULL,str.c_str(),NULL,NULL,SW_SHOWNORMAL) ; } } } return 0 ; }
関連付けされているドキュメントは,::ShellExecute で普通に開く.
そうでないドキュメントは,エクスプローラでクリックしたのと同じような動作.
NotePad や MSPaint などと入力すると,幾つかの exe は起動できる.
起動できないものもあり,その違いは不明.
https://itl.mydns.jp/…/se_doc_2020_09.zip
TS-253D 再セットアップ – 4
QTS で Virtualization Station をクリックすると,
「終了」を押してしばらくすると,
「VM の作成」.
予め iso は NAS にコピー済み.
「OK」を押すと,
ここは「キャンセル」.
「Win10x86」のアイコンを押すと,
「スタート」を押すと,Windows のセットアップが始まる.
後は Windows のいつものインストール動作.
「ローカルアカウント」でインストール.
「VM 情報」を選択して「ゲストツールCDを挿入する」.
ブラウザではあまり反応が良くない気がする.
PC などで操作する場合は VNC クライアント を使用した方が少しは快適.
FBX SDK 2020.1.1
FBX SDK 2020.1.1 があった.
今は時間が取れないので,ダウンロードとインストールまで.
いつもの様に,インクルードとライブラリのパスを変更 2020.1.1 に.
2020.1 であったワーニング LNK4099 は出なくなった?
Python venv
次の所を参考にして…
VS CodeとFlaskによるWebアプリ開発「最初の一歩」
https://kazuhira-r.hatenablog.com/entry/2019/01/09/231800
cd %TMP% で移動し temp\test\ 以下に作成.
py -m venv temp\test
Linux 環境では,~/Documents/tmp/test/
cd ~/Documents/tmp
python3 -m venv test
Win10 .\test\Scripts\activate Ubuntu source ./test/bin/activate
Flask の起動は,環境変数 FLASK_APP を設定して flask run らしい.
サンプルにある内容 を python3 sample.py との違いは?
2020/08/24
VS 2017 での仮想環境の作成は「ソリューション エクスプローラー」-「Python 環境」の「右クリック」にある.
Python から C の呼出し – 3
Win10 環境に入っている Python.h を検索.
C:\Users\Iwao> where /R \ Python.h
C:\CocosCreator\resources\utils\Python27\include\Python.h
C:\Microsoft\AndroidNDK64\android-ndk-r15c\prebuilt\windows-x86_64\include\python2.7\Python.h
C:\Microsoft\AndroidNDK64\android-ndk-r16b\prebuilt\windows-x86_64\include\python2.7\Python.h
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Extensions\Microsoft\Python\Core\Packages\ptvsd\_vendored\pydevd\pydevd_attach_to_process\dll\python.h
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Extensions\Microsoft\Python\Core\Packages\ptvsd\_vendored\pydevd\pydevd_attach_to_process\linux\python.h
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\Microsoft\Python\Core\debugpy\_vendored\pydevd\pydevd_attach_to_process\common\python.h
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\Microsoft\Python\Miniconda\Miniconda3-x64\include\Python.h
C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\include\Python.h
C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\pkgs\python-3.6.5-h0c2934d_0\include\Python.h
C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\include\Python.h
C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_86\include\Python.h
C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\include\Python.h
C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r11c\prebuilt\windows-x86_64\include\python2.7\Python.h
C:\salt\bin\include\Python.h
C:\Users\All Users\Microsoft\AndroidNDK64\android-ndk-r11c\prebuilt\windows-x86_64\include\python2.7\Python.h
C:\Users\Iwao\AppData\Local\Microsoft\Linux\HeaderCache\1.0\-1863842710\usr\include\python2.7\Python.h
C:\Users\Iwao\AppData\Local\Microsoft\Linux\HeaderCache\1.0\-1863842710\usr\include\python3.7\Python.h
C:\Users\Iwao\AppData\Local\Microsoft\Linux\HeaderCache\1.0\-1863842710\usr\include\python3.7m\Python.h
C:\Windows.old\Users\All Users\Microsoft\AndroidNDK64\android-ndk-r11c\prebuilt\windows-x86_64\include\python2.7\Python.h
C:\Users\Iwao>
WinFile.exe v10.1.4.0
Win10 環境で 2019/05 から使っている WinFile .
最近よく操作する「ファイル」-「リネーム」がかなりの確率でダウンする(エラーなどは表示されず抜ける).
ダウンロード先を見てみると新しいものがあった.
https://github.com/Microsoft/winfile/releases
「リネーム」でダウンするのは相変わらず.
GLUT でのメニュー
GLUT を使用してのテストコードで,起動後データを切替える方法がないかと…
メニューの利用で何とかできるか?
glutCreateMenu などで検索したがわかりやすい情報が少なかった.
https://seesaawiki.jp/w/mikk_ni3_92/d/%b4%f0%cb%dc%ca%d418
https://www.jstage.jst.go.jp/article/itej/67/5/67_417/_pdf
http://opengl.jp/glut/section06.html
以前作成した雛型に対して追加.メニュー部分はほぼリンク先のコードのまま.
https://jml.mish.work/index.php/cpp/cb-glut.html
#include "glut_cb.hxx" #include <iostream> void cb_menu (int val) { std::cout << "menu val=" << val << std::endl ; } int main(int argc, char* argv[]) { ::glutInitWindowPosition(200,100) ; ::glutInitWindowSize (600,400) ; ::glutInitDisplayMode (GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH) ; ::glutInit (&argc,argv) ; ::glutCreateWindow (argv[0]) ; ::glutReshapeFunc (cb_resize) ; ::glutDisplayFunc (cb_display) ; ::glutKeyboardFunc (cb_keyboard) ; ::glutMouseFunc (cs_mouse) ; { ::glutCreateMenu(cb_menu) ; ::glutAddMenuEntry("name 1",1) ; ::glutAddMenuEntry("name 2",2) ; ::glutAddMenuEntry("name 3",3) ; ::glutAttachMenu(GLUT_RIGHT_BUTTON) ; } ::cb_init () ; ::glutMainLoop () ; return 0 ; }
結局はこの方法ではなく,予めリスト化して キー入力 により切り替える方法に.
AS5202T VirtualBox – 2
AS5202T の CPU 温度を見るといつもより高い.
「プロセス」情報を見ると VirtualBox が消費している.
VNC で接続すると TiWorker.exe が CPU を食っている.
丁度 Windows Update のタイミングみたい.
VNC 接続の仮想マシンは遅くて操作できないが,接続しているクライアントからソースなどは見える.
前回 の様なネットワークが途切れる状態にはまだなっていない.
「リモートデスクトップ」であれば仮想マシンも操作できた.
落ち着くまでそのままにしておくしかなさそう.
その後「再起動」待ちになっていたので仮想マシンを再起動.
また止まったような表示.
CPU は食っているのでこのまま様子見.
2020/06/11
そのまま変わらないので,仮想マシンの「電源オフ」.
PC の VirtualBox で再起動.
Windows Update での再起動がうまく動作しないのか?
AS5202T VirtualBox の仮想マシンとして起動した時,いつもより時間がかかることがある.
また,ネットワークがうまく接続されていないこともあり.
安定するまで何度か再起動の必要があるのかもしれない.
起動時止まった様に見えても 30 分程度はそのままにして様子を見た方が良さそう.
仮想マシンの CPU や HDD などのリソースへのアクセス状況が見えると良いのに…
FBX SDK 2020.1
「FBX SDK の脆弱性」の記事を先日読んでいた.
それで SDK を ダウンロード する所を見ると,対応版と思われる 2020.1 があった.
「追加のインクルードディレクトリ」と「追加のライブラリディレクトリ」を 2020.1 に.
ビルドすると大量の warning .
LibXml2-MD.lib(buf.obj) : warning LNK4099: PDB 'libxml2-md.pdb' が 'LibXml2-MD.lib(buf.obj)' で、または 'c:\Temp\...\Debug.141\Win32\libxml2-md.pdb' に見つかりません。デバッグ情報がないものとして、オブジェクトにリンクします。 Zlib-MD.lib(adler32.obj) : warning LNK4099: PDB 'zlib-md.pdb' が 'Zlib-MD.lib(adler32.obj)' で、または 'c:\Temp\...\Debug.141\Win32\zlib-md.pdb' に見つかりません。デバッグ情報がないものとして、オブジェクトにリンクします。 LibFbxSDK-MD.lib(OArchive.cpp.obj) : warning LNK4099: PDB 'alembic-md.pdb' が 'LibFbxSDK-MD.lib(OArchive.cpp.obj)' で、または 'c:\Temp\...\Debug.141\Win32\alembic-md.pdb' に見つかりません。デバッグ情報がないものとして、オブジェクトにリンクします。
2021/04/29
LNK4099 のエラーは,pdb がないため.
FBX SDK 2020.1.1 以降であれば用意されているので,それぞれにあったものをインストールする.
Win10 インストール 用 USB 作成
Win10 インストール用の USB を作成しようと思い調べていたら
Windows 用のインストール メディアを作成する
その先の「Windows 10 のダウンロード」に入り「ツールを今すぐダウンロード」.
ダウンロードしたファイル MediaCreationTool2004.exe を起動.
ライセンス条項に「同意」して,実行する操作を選択.
Windows の種類を選択.
メディアを選択.
ドライブを選択.
Windows 10 をダウンロード.
USB メモリに書き込み.メディアの作成時間は 15 分位.
作成される Windows のバージョンにはご注意ください.
VirtualBox 6.1.8 に
前から VirtualBox の 6.1 があるのは知っていたが…
6.0.20 から上げてみた.
PC へのインストール手順はいつもと同じだが,前バージョンのアンインストールに時間がかかっていた.
6.1.8 に更新後「保存」状態だった仮想マシンを起動すると,
仮想マシン”Test10″のセッションを開けませんでした。
pci#0: Device vga/0 failed to respond to region #0 size/type changing from 0x0000000002000000/0x8 to 0x0000000002000000/0x0: VERR_SSM_LOAD_CONFIG_MISMATCH [ver=4 pass=final] (VERR_SSM_LOAD_CONFIG_MISMATCH).
終了コード : E_FAIL (0x80004005)
コンポーネント: ConsoleWrap
インターフェース: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}
Win7 も同様.Linux の仮想マシンは問題なかった.
Windows の仮想マシンは「破棄」して「起動」させれば OK .