Iwao Dev

気付いたことをメモしています.

この画面は、簡易表示です

VC 12 LNK1104 , VC 14.2 LNK2019

VC 6 のプロジェクトを順に更新して,…

------ ビルド開始: プロジェクト:BChgN, 構成:Debug Win32 ------
BChgN.obj : warning LNK4075: /EDITANDCONTINUE は /OPT:LBR の指定によって無視されます。
LINK : fatal error LNK1104: ファイル 'mfc120d.lib' を開くことができません。
------ ビルド開始: プロジェクト:G3_CLS, 構成:Release Win32 ------
LINK : fatal error LNK1104: ファイル 'mfc120.lib' を開くことができません。
------ ビルド開始: プロジェクト:G3_CLS, 構成:Debug Win32 ------
G3_CLS.obj : warning LNK4075: /EDITANDCONTINUE は /OPT:LBR の指定によって無視されます。
LINK : fatal error LNK1104: ファイル 'mfc120d.lib' を開くことができません。
------ ビルド開始: プロジェクト:G3_toM, 構成:Debug Win32 ------
ComPrj01.obj : warning LNK4075: /EDITANDCONTINUE は /OPT:LBR の指定によって無視されます。
LINK : fatal error LNK1104: ファイル 'mfc120d.lib' を開くことができません。
------ ビルド開始: プロジェクト:ig3_toM, 構成:Release Win32 ------
LINK : fatal error LNK1104: ファイル 'mfc120.lib' を開くことができません。
------ ビルド開始: プロジェクト:ig3_toM, 構成:Debug Win32 ------
ComPrj01.obj : warning LNK4075: /EDITANDCONTINUE は /OPT:LBR の指定によって無視されます。
LINK : fatal error LNK1104: ファイル 'mfc120d.lib' を開くことができません。
========== ビルド: 0 正常終了、6 失敗、4 更新不要、0 スキップ ==========
ビルドを開始しました...
------ ビルド開始: プロジェクト: BChgN, 構成: Debug Win32 ------
BChgN.obj : warning LNK4075: /EDITANDCONTINUE は /INCREMENTAL:NO の指定によって無視されます。
msvcrtd.lib(exe_wwinmain.obj) : error LNK2019: 未解決の外部シンボル _wWinMain@16 が関数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) で参照されました
c:\Temp\TestMBL\BChgN\Debug.142\BChgN.exe : fatal error LNK1120: 1 件の未解決の外部参照
プロジェクト "BChg142.vcxproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、1 失敗、9 更新不要、0 スキップ ==========

BChgN は SDI.exe .それ以外は MFC を使用したコンソール AP .


うまくビルドできる vcxproj と比べると,ソースのプリプロセッサの定義が異なる.
VC 12 LNK1104 の対応のためエディタでコンパイルオプションを削除
それならと思い,VC の「ソリューション エクスプローラ」で,ソースを一度プロジェクトから外して,再度追加.
うまくビルドできる様になった.
vcxproj をエディタで開き直すと,<PreprocessorDefinitions Condition> がない.

  <ItemGroup>
    <ClCompile Include="ComPrj01.cpp" />
    <ClCompile Include="ig3_toM.cpp" />
  </ItemGroup> 

StdAfx.cpp 以外はファイル名のみで良さそう.
他のプロジェクトは,エディタで削除して対応.

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

  • カテゴリー:

DS116 が遅い?

昨日の夕方,次の様なメールが…

サイトがダウンしています 
Jetpack による2021年1月21日 (木) 6:09 午後の最後のチェック時に i_Tools (mish.myds.me/wordpress/i-tools) が読み込めませんでした。 
サイトのアクティビティログを確認すると、この問題の原因になっている可能性のある最近の変更に関する詳細がわかります。サイトに変更を加えていない場合はホスティングサービスに連絡し、追加のサポートを受けてください。 
サイトが再びオンラインになったことをJetpackが検出したときに、こちらから別のメールを送信します。 
サポートが必要ですか ? ご心配はいりません。
このメールは、サイトでダウンタイムモニタリングが有効にされているため、送信されました。サポートにご連絡いただく場合は、リファレンス番号 [136721734/intermittent] をお知らせください。 
これらのアラートはセキュリティ設定でカスタマイズできます。 
Automattic, Inc. 
60 29th St. #343, San Francisco, CA 94110, USA 
WordPress.com のメール設定を管理します。 
JetpackPlan

アラート :i_Tools はダウンしているか応答していません
いつもなら数分で復旧したとメールが来るが,今回は違った.
自分で作成した接続ログのページを見ようとすると遅くて使えない.
DS115j で運用していた頃の Antivirus Essential が動作した時の様な感じ.
https://mish.myds.me/wordpress/dev/2017/01/29/ds115j-9/


DSM に入ってリソースモニタで見ると CPU に負荷がかかっている.
「プロセス」を見ると,CPU を 数% 使用するプロセスが 30 個位あったと思う.
「php72」だったと思うがハードコピーなどがないので定かではない.
DSM から NAS を再起動して通常の状態になった.
DS116 リソースモニタ CPU
DSM のログを見たが,特にこれはというものはわからない.
//mish.myds.me/ に対して変なアクセスがあったので,その影響か?


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


NAS の Wake-on-LAN 設定

NAS の WOL 設定.


Synology NAS
DSM WOL 設定
「コントロールパネル」-「ハードウェアと電源」-「全般」-「電源復旧」


ASUSTOR NAS
ADM WOL 設定
「設定」-「ハードウェア」-「電源」-「設定」


QNAP NAS
QTS WOL 設定
「コントロールパネル」-「システム」-「電源」-「Wake-on-LAN (WOL)」


私の環境は,ASUS ルータがあるのでそのアプリから起動させている.
ASUS ルータアプリ WOL
あまり使うことはないが,外から VPN で接続して ASUSTOR NAS 内の Win10 にアクセスできる様にしている.
VPN 接続して ASUSTOR NAS の VirtualBox にアクセス

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


FBX SDK 2020.2

FBX SDK 2020.2 があった.
VC 2015 , 2017 , 2019 の対応となったみたい.
また,ダウンロードページを見ると pdb の exe もある.
FBX SDK 2020.2
以前には気づかなかったが 2020.1.1 のページにも pdb はあった.
今日は,ダウンロードとインストールまで.

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

  • カテゴリー:

VC でのプロファイル

VC 6 の頃はよく使っていたが…
VC 12 では何故かうまく動かなかった.
VC 14 で簡単に動作を確認すると,前より使い易くなっている.


メニューの「分析」-「パフォーマンス プロファイラー」.
VC 14 「メニュー」-「分析」-「パフォーマンス プロファイラー」
「CPU 使用率」にチェックを付けて「開始」.
プロファイル用にビルドされて exe が起動する.
テストする操作を行い exe を終了させる.
暫くすると結果が表示される(この情報の見方はよくわからず).
VC 14 プロファイル exe を終了した後に表示される「概要」?
CPU のグラフの下の「詳細なレポートを作成します…」を「クリック」.
プロファイラ 詳細なレポート 概要
上の方のドロップダウンから「関数」を選択.
表示された関数名のリストから関数をダブルクリック(ここでは CF_GetOuterLine ).
CF_GetOuterLine の「関数コード ビュー」
ちょっと意外だったが,Vd3A の代入に時間がかかっている.


2020/12/23
Vd3A の代入ではなく参照にコードを変更.
テストする exe も,もう少し機能を単純化したものを使用.
VC 14 プロファイル Vd3A の「代入」を「参照」に変更
データにもよるが,該当部分の時間が半分位になった.


更にループ内の Vd3 も参照にしてみたが,こちらは効果なし.

typedef	Vector3<double> 	Vd3 ;		//  3D 座標 ( double の x , y , z ) 
typedef	std::vector<Vd3>	Vd3A ;		//  3D 座標の配列 

Vd3A は可変長で,メモリの確保と解放が伴うためと思われる.
std::vector の配列の要素に対する操作の逆アセンブル表示
* デバッグ版のため実際のコード(計測した Release 版)とは異なると思う.
1 回の「面の結合」

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

  • カテゴリー:

SetConsoleCtrlHandler

コンソール AP で,キー入力による中断ができないかと…
やりたいことは,時間がかかるコンソール AP で,その途中までの計算結果を保存すること.
コンソールアプリ 中断」で検索すると ::SetConsoleCtrlHandler を使えば良さそう.
MSDN を「PHANDLER_ROUTINE」で検索.次のサンプルが見つかった.
NSDN 2001/10 PHANDLER_ROUTINE
そのタイトル「Registering a Control Handler Function」で検索.
コントロール ハンドラー関数の登録
https://www.installsetupconfig.com/win32programming/
https://www.installsetupconfig.com/win32programming/winconsolecharapplication8index.html

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


#pragma message ( … (value) )

FBX SDK を使用したプロジェクトで,コンパイル時 FBX SDK のバージョンを表示したくなった.
FBX 2013.3 SDK 位からは FBXSDK_VERSION_STRING が使える.

#ifdef	FBXSDK_VERSION_STRING
	#pragma	message	("FBXSDK_VERSION " FBXSDK_VERSION_STRING)
#endif

それより古い場合に,コンパイルオプションで FS_VER=201100 などと指定する様にした.
考え方や動作は意図した通りになったが,この FS_VER を表示できないものかと…
検索すると VC では _CRT_STRINGIZE が使えるとあった.
コンパイル時に#defineの値を表示するにはどうすればよいですか?

#ifdef	FS_VER
	#pragma	message	("FS_VER " _CRT_STRINGIZE(FS_VER))
#endif

_CRT_STRINGIZE は …\VC\include\crtdefs.h や …\VC\include\vcruntime.h に定義されている.


古い VC などでも使える様に…

#ifndef		__CRT_STRINGIZE
	#define	__CRT_STRINGIZE(Value)	#Value
#endif
#ifndef		_CRT_STRINGIZE
	#define	_CRT_STRINGIZE(Value)	__CRT_STRINGIZE(Value)
#endif

https://python5.com/q/uxqhkyvx
#pragma message (_CRT_STRINGIZE(FS_VER))

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


QNAP NAS ファン異常?

11月末位からファンのエラーの通知が来る様になった.

NAS 名: TS253D
重大度: Error
日付/時刻: 2020/12/07 13:40:09

アプリ名: ハードウェアの状態
カテゴリー: ファン
メッセージ: [ハードウェアの状態] システムファン1に故障が発生しました。

このエラーは「システム温度」が 25℃を下回ると発生する様子.
「スマートファン」の設定は「温度閾値に応じて速度を調節」にしている.
TS-253D 「コントロールパネル」-「システム」-「ハードウェア」-「スマートファン」-「温度閾値に応じて速度を調節」


検索しても特に情報が引っ掛からない.
それで「ユニスター」さんに問合せをかけてみたが,あまり有効な情報は得られなかった.
「温度閾値に応じて…」の設定にしている環境は少ないのかもしれない.


夏場でない限り,システム温度やディスクの温度が問題になることはないと思う.
「スマートファン」の設定を「温度をモニターし,それに応じて速度を調節」-「パフォーマンスモード」に変更.
この設定で 25℃を下回っていても,ファン速度は「1170 RPM」前後になっている.
TS-253D 「スマートファン」-「温度をモニターし,それに応じて速度を調節」-「パフォーマンスモード」

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


MFC DLL error C2371 cerr

FBX SDK を使用したテストプロジェクト.
以前「MFC を使用する」になっていたもの.
関連するコードを変更して「MFC を使用しない」に書き換え.
そのままのコードを「MFC を使用する」に戻すと,…

--------------------構成: T_FBX - Win32 DebugM--------------------
コンパイル中...
T_FBX.cpp
c:\program files\microsoft visual studio\vc98\mfc\include\afx.h(1941) : error C2371: 'cerr' : 再定義されています。異なる基本型です。
        c:\program files\microsoft visual studio\vc98\include\iostream(19) : 'cerr' の宣言を確認してください。
nothing   FS_VER
  VC 6    200508
cl.exe の実行エラー

T_FBX.exe - エラー 1、警告 0

MFC を使用する方法に戻してエラー C2371
前に変更しているが,元に戻す方が良いのか?
そもそもこの部分を削除した方が良いか?
https://mish.myds.me/wordpress/dev/2020/04/17/rc1047-c2679/


今回は i_define.hxx から次の部分を削除.

#ifdef	_MSC_VER
	#ifdef		_MFC_VER
	#else
		#ifndef	afxDump
		#define	afxDump		std::terr
		#endif
	#endif
#endif

必要があれば i_debug.hxx に追加する.

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



    top

    %d人のブロガーが「いいね」をつけました。