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
その後更新されないこともあったが,今は特に問題なし.
Pythonで学び直す高校数学
Python をどうやれば使えるのかわかってないが,試しに python と打ってみると何か起動するみたい.
Raspberry Pi
login as: pi pi@192.168.1.34's password: Linux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Fri Apr 5 21:59:29 2019 SSH is enabled and the default password for the 'pi' user has not been changed. This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password. pi@raspberrypi:~ $ python Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> pi@raspberrypi:~ $ python3 Python 3.5.3 (default, Sep 27 2018, 17:25:39) [GCC 6.3.0 20170516] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
Synology NAS
login as: Iwao Iwao@DS115j's password: Iwao@DS115j:~$ python Python 2.7.12 (default, Sep 7 2018, 13:20:13) [GCC 4.9.3 20150311 (prerelease)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> hex(120) '0x78' >>> bin(120) '0b1111000' >>> Iwao@DS115j:~$ python3 -sh: python3: command not found Iwao@DS115j:~$
ランプが点いたまま …
気が付いたら Raspberry Pi の緑のランプが点いたままになっている.
多分 1ヶ月位電源を入れたまま.
VNC で接続してみたが,遅くて操作できない.
ssh で接続.
login as: pi pi@192.168.1.34's password: Linux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sat Feb 16 18:34:59 2019 from 192.168.1.15 SSH is enabled and the default password for the 'pi' user has not been changed. This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password. pi@raspberrypi:~ $ sudo shutdown -r now
VC フォールバック 設定
以前から設定している情報のまとめ
VC 10 以降 フォールバックの設定
「ツール」-「オプション」-「テキスト エディター」-「C/C++」-「詳細」.
*.ipch,*.sdf,*.VC.db などを指定フォルダ以下に作成するように変更.
VC 7 以降 exe などをプロジェクトのソースなどとは別の所に生成するために.
c:\Temp\$(ProjectName)\$(ConfigurationName).070
c:\Temp\$(ProjectName)\$(ConfigurationName).080\$(PlatformName)\
c:\Temp\$(ProjectName)\$(ConfigurationName).090\$(PlatformName)\
c:\Temp\$(ProjectName)\$(Configuration).100\$(Platform)\
c:\Temp\$(ProjectName)\$(Configuration).140\$(Platform)\
c:\Temp\Test_3D\$(ProjectName)\$(Configuration).100\
https://itl.mish.work/Iwao/Doc/other/vs/
https://jml.mish.work/index.php/cpp/vs-install.html
VPN と AiProtection
ちょっと使えると思ったのでメモ.
家の中でスマートフォンなどを使用する時は,AiProtection が効くのでリスクを軽減できる.
外でスマートフォンを使用する時にこの辺りの不安が残っていた.
先日 VPN をいろいろ試していて,あまり用途はないと思っていたが…
外から VPN で接続して AiProtection のチェック用サイトにアクセスすると,
LAN 内からアクセスした時と表示は異なるみたいだが,ちゃんとガードはかかっている.
AiProtection が効かない?
先日スマートフォンで,次の所からのリンクにアクセスすると,うまくない.
ウイルスバスターCorp. 11.0, XG, Apex One のWebレピュテーション機能テスト方法
LAN 内の PC などからは正しく動作している.
暫くわからなかったが,
原因はスマートフォンで使用していたブラウザの設定?だった.
Chrome を使用していて,その中の設定の「データセーバー」が影響していた.
「データセーバー」を「OFF」にして対応.
Raspberry Pi リモート接続
以前に,設定などの流れの中で一度書いているがそれを整理.
IP アドレスは ifconfig や ip a で確認してください.
初期値のままであれば,ユーザ名とパスワードはそれぞれ pi と raspberry です.
VNC 接続
「Raspberry Pi の設定」-「インターフェイス」より「VNC」を有効化.
RealVNC のサイトからクライアント用ソフトをダウンロード,インストール.
リモートデスクトップ(RDP)
LXTerminal を起動して,xrdp をインストール.
$ sudo apt-get update
$ sudo apt-get install xrdp
Joomla! に Analytics , AdSense
Joomla! に Google Analytics など設置しようと思い検索.
エクステンションを追加する方法など見つかるが,イマイチよくわからない.
そこで WordPress でも以前やった php を編集することにしてみた.
「エクステンション」-「テンプレート」-「テンプレート」.
編集したいテンプレートを選択します.
左のファイルのリストから index.php を選択します.
head または body の文字を探して,Google Analytics と AdSense のコードを張付けます.
//itl.mydns.jp/joomla/
Joomla! カテゴリの並び替え
Joomla! の「記事」は WP の「投稿」と同じ様なものと考えて良さそう.
「記事」を幾つか追加.また,分類するために「カテゴリ」も追加.
今まで最初からある「Uncategorised」のみだったので気付かなかったが,追加したカテゴリが下に表示される.
「記事」-「カテゴリ」の一覧で,先頭列の「ドットが縦に 3 つ並んでいる所」がドラッグできる.
http://mish.work/joomla/
わかりやすく書かれているページを見つけたので…
Joomla 3.0の記事順序を変更するには
auひかり ASUS ルータで VPN 設定
先日 ASUS RT-AC86U に VPN 設定をしようと思い,次の所を参考に設定.
[VPN] OpenVPNサーバーの設定方法
ルータが持っている DDNS 機能は使用していない.と言うか私の環境ではうまく利用できないみたい.
回線が au ひかりで,2 重ルータ になっているためではないかと思う.
回避策があるのかもしれないが,他の方法で困っていないので調べていない.
DDNS 機能は,Synology NAS の機能と,MyDNS を利用している.
クライアントは Android なので,OpenVPN Connect を利用.
「OpenVPN 設定をファイル…」でエクスポートした client.ovpn を Android に移す.
メールに添付して,Android に送信.
LAN 内で接続すると接続は可能だが,外から接続すると接続できない.
その状態で進まないでそのまま …
Synology NAS があるので,それで VPN サーバとして動作可能なことは知っていた.
ルータでうまくないので NAS での設定を調べていると,解決のためのヒントあり.
Synology DS218j で VPN を構築する
AC86U でエクスポートした ovpn をメモ帳などで開いて,初めの方にある IP アドレス部分を書換え.
2 重ルータになっている関係で,192.168.x.x の様になっていた.
これをグローバル IP アドレスに書換え.環境によっては DDNS を指定してする.
これで外から接続可能になったみたい.
Android で外からアクセスした時,IP が変わることを確認.
こちらで IP アドレスなどを確認 できます.
2019/04/25
上海にいる人に確認してもらった所,この設定で OK みたい.
iPhone で YouTube を見られることを確認してもらった.
2019/05/28 Windows 版 OpenVPN クライアントの設定
2019/06/19 ASUS ルータで IPSec VPN 設定
2021/05/11 ASUS ルータ OpenVPN 設定 ポート変更
Joomla! インストール後の設定
Synology NAS DS116 の Joomla! インストール後の設定です.
「管理画面」を選択.
アドレス欄に入力する場合は,//ds116/joomla/administrator/ になります.
「システム」-「グローバル設定」-「サーバ」タブ.
「ロケーション設定」-「サイトのタイムゾーン」を設定.
「システム」-「グローバル設定」-「サイト」タブ.
「SEO設定」で「URLリライトの使用」と「URLの末尾に…」を有効に.
また,htaccess.txt を .htaccess にコピーする必要がある.
OSMap をインストール.
「コンポーネント」-「OSMap Free」を選択.
「XML」の所を選択するとサイトマップが開きます.
http://ds116/joomla/component/osmap/?view=xml&id=1
このアドレスを「Search Console」で送信します.
「Login Form」を無効に.
Joomla! 再インストール
Synology NAS DS116 の Joomla! の再インストール.
「パッケージ センター」から「Joomla」を「インストール」.
「次へ」.
「データベースをセットアップ」-「次へ」.
「適用」.
NAS の /web/joomla にコピーされます.
「ファイアウォール通知」は表示されないこともあります.
「開く」で Joomla! の設定画面が開きます.
サイト名,サイトの説明は後から変更できます.
「次へ」.
必要な部分を設定して「次へ」.
「File Station」や「エクスプローラ」などで,「/web/joomla/instllation/_joomla….txt」を削除.
「次へ」.
「言語の追加インストール」を行います.
「instllationディレクトリを削除」ボタンで削除.
Joomla! 再インストールのために削除
Synology NAS DS116 上の Joomla! を,いろいろと弄ったので綺麗にするために再インストール.
「パッケージ センター」から「Joomla」を「アンインストール」.
「次へ」.
Joomla データベースの削除.
インストールされた /web/joomla が削除されます.
DSM 7 では /web_packages/joomla になっています.
WordPress でエラーが表示される
自分のブログを見ているとエラーが…
Warning: mysqli_query(): (HY000/14): Can’t change size of file (Errcode: 28 “No space left on device”) in /…/wp-db.php on line 1924 Warning: mysqli_query(): (HY000/1021): Disk full (/tmp/#sql_27c2_0.MAI); waiting for someone to free some space… (errno: 28 “No space left on device”) in /…/wp-db.php on line 1924
原因は,画像変換で /tmp 以下を使用していて,70 MB 位のファイルが幾つも存在する様になってしまっていた.
Iwao@DS116:~/gcc_test/Test/t_linux/call_im$ ./a.out ~/gcc_test/Test/gons_to/data/dib/IMG_20180624_185921.vr.jpg Iwao@DS116:~/gcc_test/Test/t_linux/call_im$ ./a.out ~/gcc_test/Test/gons_to/data/dib/IMG_20180624_185921.vr.jpg Iwao@DS116:~/gcc_test/Test/t_linux/call_im$ ./a.out ~/gcc_test/Test/gons_to/data/dib/IMG_20180624_185921.vr.jpg convert: ImproperImageHeader `/tmp/Iwao/i_Tools.tmp/20190201/20190201/IMG_20180624_185921.vr.jpg.004.bmp' @ error/bmp.c/ReadBMPImage/590. convert: NoImagesDefined `/tmp/Iwao/i_Tools.tmp/20190201/20190201/IMG_20180624_185921.vr.001.jpg' @ error/convert.c/ConvertImageCommand/3258. Iwao@DS116:~/gcc_test/Test/t_linux/call_im$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 2385592 946808 1320000 42% / none 513436 0 513436 0% /dev /tmp 515324 515320 4 100% /tmp /run 515324 3312 512012 1% /run /dev/shm 515324 4 515320 1% /dev/shm none 4 0 4 0% /sys/fs/cgroup /dev/sda3 2879506904 518855752 2360532368 19% /volume1 Iwao@DS116:~/gcc_test/Test/t_linux/call_im$
rm -r /tmp/Iwao/i_Tools.tmp/20190201/* とすることで一先ず対応.
他に,/tmp なので再起動すれば消去される.
デバッグ用にファイルを残していることもあるが,コードとしてどの様に対応するか検討が必要.
Linux 上での画像情報の表示
先日 Linux 上での zip などを調べていて見つけた convert など.
その中の,画像情報を表示する identify .
pi@raspberrypi:~ $ identify 2019-01-29-234500_1360x768_scrot.png 2019-01-29-234500_1360x768_scrot.png PNG 1360x768 1360x768+0+0 8-bit sRGB 338KB 0.000u 0:00.010 pi@raspberrypi:~ $
コマンドオプションに -verbose を指定する方法はいろいろな所に書かれているが,欲しかったのは限られた情報.
例えば「幅」や「高さ」,「色数」など.
identify -help とすると,-format “string” と言うのがあった.
例えば -format “%w\n%h\n” と指定すると,幅と高さを 2 行に表示できる.
pi@raspberrypi:~ $ identify -format "%w\n%h\n" 2019-01-29-234500_1360x768_scrot.png 1360 768 pi@raspberrypi:~ $