Win10 で 3mf の読込み – 2
先日うまく開けなかった 3mf .
~.model ファイル内の texture の contenttype の指定が間違っていた.
正しくは <texture id=”1″ path=”/duckCM_fix.jpg” contenttype=”image/jpeg” />
コードの修正はまだ.model ファイルをエディタで修正して保存.
duck_jpeg.3mf
Linux から Windows 環境への接続
先日は「ファイルマネージャ」での Windows 環境へのアクセスだったが,今度はマウント.
検索すると以下の所に詳しく書かれていた.
LinuxからWindowsの共有フォルダをマウントするには
実際に操作したのは,
$ sudo mkdir /mnt/_.src
$ sudo mount -t cifs -o username=pi,password=raspberry //Z170S0/Public/…/Develop/_.SRC /mnt/_.src
Fedora ではこれでうまくいったが,Ubuntu ではエラー.
Fedora 環境は先日いろいろ弄って Samba の関係を入れたが Ubuntu はまだだった.
$ sudo apt install samba
$ sudo apt install cifs-utils
* samba のインストールは不要?
Z170S0 ではエラーとなり IP アドレスで指定したらうまくいった.
$ sudo mount -t cifs -o username=pi,password=raspberry //192.168.1.169/Public/…/Develop/_.SRC /mnt/_.src
Linux から Windows 環境のファイル
先日 Linux 環境から NAS 環境のファイルアクセスの手順などはある程度分かった.
今度は Windows 環境のファイルへのアクセス.
「他の場所」を選んだ時「Z170S0」が表示されていた(表示されないこともあり).
表示されていない時は「サーバへの接続」欄に smb://z170s0/ で可能.
選択するとパスワードを求められるが,これがうまく入らなかった(何を指定すれば良いかがわからなかった).
Raspberry Pi 上からも同じ様な感じで見えていたので試すと「pi」で入れた.
Ubuntu や Fedora でも「pi」で入れることがわかった.
「pi」で入ることで「Everyone」として扱われているものと思われる.
Linux から NAS へのアクセス
GLUT インストール
ちょっと時間が空いたので,Linux 環境で GLUT を使える様にしてみた.
以前からお世話になっている次の所に詳しく書かれている.
GLUTによる「手抜き」OpenGL入門
Ubuntu , Debian ,Raspberry Pi では
$ sudo apt install freeglut3 freeglut3-dev
Fedora では
$ sudo yum install freeglut
$ sudo yum install freeglut-devel
コンパイルは
$ cc hello_gl.c -lglut -lGLU -lGL
https://jml.mish.work/index.php/cpp/install-glut.html
opengl.jp
The OpenGL Utility Toolkit (GLUT) Programming Interface API Version 3 日本語翻訳版
2021/05 Win10 に GLUT インストール
Let’s Encrypt certificate expiration …
また次のメールが届いた.
Let’s Encrypt certificate expiration notice for domain “itl.mydns.jp” (and 4 more)
Hello,
Your certificate (or certificates) for the names listed below will expire in 20 days (on 30 Aug 19 02:53 +0000). Please make sure to renew your certificate before then, or visitors to your website will encounter errors.
We recommend renewing certificates automatically when they have a third of their total lifetime left. For Let’s Encrypt’s current 90-day certificates, that means renewing 30 days before expiration. See https://letsencrypt.org/docs/integration-guide/ for details.
itl.mydns.jp
…
mish.myds.me
For any questions or support, please visit https://community.letsencrypt.org/. Unfortunately, we can’t provide support by email.
For details about when we send these emails, please visit https://letsencrypt.org/docs/expiration-emails/. In particular, note that this reminder email is still sent if you’ve obtained a slightly different certificate by adding or removing names. If you’ve replaced this certificate with a newer one that covers more or fewer names than the list above, you may be able to ignore this message.
If you are receiving this email in error, unsubscribe at http://mandrillapp.com/track/unsub.php?u=30850198&id=fab156addb7b4097869d6fbc1603e9d3.RsjpgIgXcXbPKK4%2Fg4vK9vppkUw%3D&r=https%3A%2F%2Fmandrillapp.com%2Funsub%3Fmd_email%3Diwao.n%2540ae.auone-net.jp
Regards,
The Let’s Encrypt Team
Synology NAS の DSM で更新してくれるはずなのにうまく動作しなかったのか?
DSM の「コントロールパネル」-「セキュリティ」-「証明書」から対象のものを選んで「右クリック」-「証明書を更新」.
2021/07 NAS の証明書の更新
vcomp.dll が見つからないため、…
市販のアプリケーションやシェアウェアなどの利用の方は次のリンク先を参照してください.
https://mish.myds.me/wordpress/i-tools/2017/05/17/mfc140u-dll-error/
以下は開発者向けの情報です.
VC6 で作成したコンソール AP を VC7 以降に変換.
VC8 以降では OpenMP が使用できるので,コンパイルの設定を変更.
VC10 以降では問題ないが,VC8 ,VC9 でビルドしたものを実行すると,
—————————
gons_to.exe – システム エラー
—————————
vcomp.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。
—————————
OK
—————————
—————————
gons_to.exe – システム エラー
—————————
VCOMP90.DLL が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。
—————————
OK
—————————
しばらくわからなかったが,以前にも書いていた.
https://mish.myds.me/wordpress/dev/2013/03/14/vcompd-dll-debug-error/
main() 関数がある cpp に以下を追加.
#ifdef _OPENMP
#include <omp.h>
#endif
NAS でのコンパイルエラー
Iwao@DS116:~/gcc_test/Test/gons_to$ g++ gons_to.cpp In file included from /volume1/public/C_Sync/GoogleD/Develop/_.SRC/__Iwao/gonsa_to.hxx:24:0, from /volume1/public/C_Sync/GoogleD/Develop/_.SRC/Test/gons_to.hpp:11, from gons_to.cpp:13: /volume1/public/C_Sync/GoogleD/Develop/_.SRC/__Iwao/ga_dae.hxx: In function 'Xml_E GonsA_ToDAE(const GonsA&, c_v_tstring&)': /volume1/public/C_Sync/GoogleD/Develop/_.SRC/__Iwao/ga_dae.hxx:180:95: error: invalid initialization of non-const reference of type 'Vd3& {aka Vector3<double>&}' from an rvalue of type 'Vd3 {aka Vector3<double>}' Xml_E nodeR = dae_out::node_lookat(ID_visual_scene_n_c_R,ID_camera_R_STD,stdR.GetEyePoint(),target) ; ~~~~~~~~~~~~~~~~^~ In file included from /volume1/public/C_Sync/GoogleD/Develop/_.SRC/__Iwao/ga_dae.hxx:12:0, from /volume1/public/C_Sync/GoogleD/Develop/_.SRC/__Iwao/gonsa_to.hxx:24, from /volume1/public/C_Sync/GoogleD/Develop/_.SRC/Test/gons_to.hpp:11, from gons_to.cpp:13: /volume1/public/C_Sync/GoogleD/Develop/_.SRC/__Iwao/fe_dae.hxx:596:15: note: initializing argument 3 of 'static Xml_E dae_out::node_lookat(LPCTSTR, LPCTSTR, Vd3&, Vd3&)' static Xml_E node_lookat ( ^~~~~~~~~~~ In file included from /volume1/public/C_Sync/GoogleD/Develop/_.SRC/__Iwao/gonsa_to.hxx:24:0, from /volume1/public/C_Sync/GoogleD/Develop/_.SRC/Test/gons_to.hpp:11, from gons_to.cpp:13: /volume1/public/C_Sync/GoogleD/Develop/_.SRC/__Iwao/ga_dae.hxx:181:95: error: invalid initialization of non-const reference of type 'Vd3& {aka Vector3<double>&}' from an rvalue of type 'Vd3 {aka Vector3<double>}' Xml_E nodeL = dae_out::node_lookat(ID_visual_scene_n_c_L,ID_camera_L_STD,stdL.GetEyePoint(),target) ; ~~~~~~~~~~~~~~~~^~ In file included from /volume1/public/C_Sync/GoogleD/Develop/_.SRC/__Iwao/ga_dae.hxx:12:0, from /volume1/public/C_Sync/GoogleD/Develop/_.SRC/__Iwao/gonsa_to.hxx:24, from /volume1/public/C_Sync/GoogleD/Develop/_.SRC/Test/gons_to.hpp:11, from gons_to.cpp:13: /volume1/public/C_Sync/GoogleD/Develop/_.SRC/__Iwao/fe_dae.hxx:596:15: note: initializing argument 3 of 'static Xml_E dae_out::node_lookat(LPCTSTR, LPCTSTR, Vd3&, Vd3&)' static Xml_E node_lookat ( ^~~~~~~~~~~ Iwao@DS116:~/gcc_test/Test/gons_to$ g++ gons_to.cpp Iwao@DS116:~/gcc_test/Test/gons_to$ ./a.out
node_lookat の 3 つ目の Vd3& を const とすることで対応.
“invalid initialization of non-const reference of type” で検索するとわかりやすく書いてあった.
xml の読込み – 3
2019/01 に書いた xml の読込み で,属性が次の様になっている場合うまく処理できないバグがあった.
attr=’”a” “b”‘
他にも !DOCTYPE があるとうまく処理できていなかった.
また,そのデータの出力(Save_xml)も attr=””a” “b”” となってうまくなかった.
parsexml.hxx
xml_out.hxx
Win10 で 3mf の読込み
https://itl.mydns.jp/i_Tools/Doc/blog/data_3mf/duck.html
バージョン | 読込 | 保存 | |
Print 3D | 3.3.7910.0 | stl obj 3mf wrl ply | |
ペイント 3D | 5.1904.8017.0 | 3mf stl ply obj glb fbx | 3mf glb fbx |
3D ビューアー | 6.1903.4012.0 | 3mf fbx obj stl ply gltf glb | glb |
3D Builder | 16.1.1431.0 | stl obj 3mf wrl ply gltf glb | 3mf stl obj ply gltf glb |
duck.3mf は Print 3D と 3D Builder ではうまく読めない.
ペイント 3D で読んだ duck.3mf を Paint_3D_duck.3mf としてそのまま保存.
その状態であればどれでもちゃんと開ける.
もっと単純なデータで確認.Cube_org.3mf
幾つかの面のテクスチャが貼られていない.
ペイント 3D は大丈夫.
テクスチャ座標を 0 ~ 1 の範囲にしたものでは大丈夫.
0 ~ 2 や -2 ~ 2 にしたものは,Print 3D では 0 ~ 1 のみうまく貼りつく.Cute_tx2.3mf
//mish.work/…/i_Tools/
Joomla! の SEO 設定
Joomla! で作成したページのソースを表示した時,ページの内容と異なる meta 情報が目についた.
特に何も指定しないと?「システム」-「グローバル設定」-「サイト」の「META要素の設定」が入るみたい.
条件はわからないが Google などの検索結果 には,記事の抜粋した情報になっているページも多い.
検索された「カテゴリ」ページはあまり意味のない内容になってしまっている.
Joomla! の設定をいろいろ弄っていると,あった.
記事の編集画面で「公開」タブに切替.
右上に meta 情報を入力する欄がある.
記事だけでなく「カテゴリ」のページも同様に編集できる.
Joomla! に「検索ボックス」の追加
Joomla! のサイト内検索を行いたいと思い「検索ボックス」の追加の手順.
「エクステンション」-「モジュール」の画面から「新規」.
「モジュールの種類の選択」となるのでその中の「検索」を選択.
「タイトル」と「表示位置」を指定して「保存」.
「プレビュー」などで確認.
https://jml.mish.work/
https://mish.work/joomla/
WSS その後 – 2
先日「カートリッジを交換」したが,あまり状況は変わらない…
先週は比較的安定していたように思うが,今週に入ってからまた「シャットダウン」されている.
「Windows Server バックアップ」がうまく動作していない?ので,タイミングを「5:00」から「3:00」に変更.
これで状況が変われば,もう少し進展するかも.
2019/07/22
7/20 3:20 頃にも再起動された.
それと,今日起動して 1 時間後位にも再起動となった.
やはり「バックアップ」が関係しているものと思われる.
しかし,エラーの表示が見当たらないのでどう対応したものか…
「バックアップ」機能を止めて様子見.
2019/08/02
「Windows バックアップ」が影響していたみたいで,その後再起動がかかることはなく動作している.
FBX SDK 2019.2 で LNK2019
先日の FBX SDK を使用したプロジェクトを VC 2017 と FBX SDK 2019.2 に上げてビルドすると,
LibFbxSDK-MD.lib(fbxmanager.obj) : error LNK2019: 未解決の外部シンボル _xmlCleanupParser が関数 "void __cdecl fbxsdk::Close3rdPartyLibraries(void)" (?Close3rdPartyLibraries@fbxsdk@@YAXXZ) で参照されました。 LibFbxSDK-MD.lib(fbxiosettings.obj) : error LNK2019: 未解決の外部シンボル _xmlStrcmp が関数 "struct _xmlNode * __cdecl fbxsdk::GetChildXmlNode(struct _xmlNode *,class fbxsdk::FbxString *)" (?GetChildXmlNode@fbxsdk@@YAPAU_xmlNode@@PAU2@PAVFbxString@1@@Z) で参照されました。 LibFbxSDK-MD.lib(awCacheDescriptionIO.obj) : error LNK2001: 外部シンボル "_xmlStrcmp" は未解決です。 LibFbxSDK-MD.lib(fbxiosettings.obj) : error LNK2019: 未解決の外部シンボル _xmlNewDoc が関数 "public: virtual bool __thiscall fbxsdk::FbxIOSettings::WriteXMLFile(class fbxsdk::FbxString const &)" (?WriteXMLFile@FbxIOSettings@fbxsdk@@UAE_NABVFbxString@2@@Z) で参照されました。 LibFbxSDK-MD.lib(xmlHelper.obj) : error LNK2001: 外部シンボル "_xmlNewDoc" は未解決です。 ...
今まで LibFbxSDK-MD.lib のみだったが,libxml2-md.lib と zlib-md.lib が増えた(分割された?)みたい.
スタティックリンクの場合は,それぞれ LibFbxSDK-MT.lib , LibXml2-MT.lib , zlib-MT.lib .
リンク対象にこれらを加えれば OK .
2019/09/05 FBXSDK_VERSION_MAJOR を利用した方法に変更 .
2020/12/15 fbx_def.hxx と fbx_lib.hxx として整理 .
VC 2015 x64 プロジェクトで C1128
FBX SDK を使用した VC 2015 x86 プロジェクトを x64 にしたら,
—— ビルド開始: プロジェクト:FBXtoM, 構成:Debug x64 ——
FBXtoM.cpp
FBXtoM.cpp(73): warning C4244: ‘初期化中’: ‘INT_PTR’ から ‘int’ への変換です。データが失われる可能性があります。
FBXtoMDg.cpp
E:\…\FBXtoM\FBXtoMDg.cpp : fatal error C1128: セクションの数がオブジェクト ファイル形式の制限を超えています: /bigobj と共にコンパイルしてください
Release 版では C4244 の warning は出るがビルドできる.
C4244 はアプリケーションクラスの dlg.DoModal の戻り値を int から INT_PTR に .
C1128 の対応は x64 Debug 版の「プロパティ」-「C/C++」-「コマンドライン」-「追加のオプション」に /bigobj を追加.
VC 2015 Release.exe で 0xC0000005
今まで VC 2013 だったプロジェクトを VC 2015 に.
Release 版を実行するとエラーに.
0x006F3947 で例外がスローされました (FBXtoM.exe 内): 0xC0000005: 場所 0xFFFFFFFF の読み取り中にアクセス違反が発生しました
この例外のハンドラーがある場合は、プログラムを安全に続行できます。
Debug 版では問題ない.また,VC 2013 Release 版も通る.
変数 bp がおかしくなっているっぽいがよくわからない.
このプロジェクトは FBX SDK を使用しているため,VC が限定される.
そのため,この部分の単体テスト用のプロジェクトがあったのでそれを VC 6 から順にビルド.
やはり,VC 2015 では実行時エラーとなる.VC 2017 は通る.
検索すると「VC 2015 の問題」と思われる情報があった.
Visual Studio 2015 および Visual C++ 2017 のリンク時のコード生成における最適化の不具合について
今使っている VS 2017 のバージョンは 15.9.13 .
単体テストプロジェクトで,書かれていた回避策を試したが効果なし?
コンパイルの「最適化」で「実行速度の最大化(/O2)」を「サイズの最小化(/O1)」に変更して通る様にはなった.
次の様に bp を求める部分を使用する直前に移動して対応.
if (0<=lv && 0<=bv) {
// Vd3 bp = lp-be.lll() ;
bi->SetLV1(bIndex,lv) ;
bi->SetLV2(bIndex,lv) ;
bi->SetLP1(::ToP3(lp)) ;
bi->SetLP2(::ToP3(lp)) ;
bi->SetBV1(bv) ;
bi->SetBV2(bv) ;
Vd3 bp = lp-be.lll() ;
bi->SetBP1(::ToP3(bp)) ;
bi->SetBP2(::ToP3(bp)) ;
}
WSS ディスク交換
先日ディスクが壊れて,その交換用が届いた.
マニュアル通り進めようとするが「アンプラグ」が押せない.
エラーになっても,再構築で正常になるとその様になるみたい.
https://www.iodata.jp/support/qanda/answer/s19117.htm
そのため「シャットダウン」で電源を落として「カートリッジを外す」.
ロックキーを回すのだが,何かに引っ掛かって回らない.レバーをきっちり戻すことで回るようになった.
カートリッジの交換方法には「交換カートリッジは取り付けず…電源を入れる」とある.
この時ディスプレイとキーボードを取り付けなければならないのがちょっと面倒.
「Windows □□□□□」を選択.
起動するとブザーが鳴るので「FUNC.」ボタンでブザーを止める.
カートリッジを取り付け.しばらくすると再構築が始まった.
再起動すると,ブートメニューで立ち上がらない.
これは,今回 HDD 1 を交換したことによるみたい.
2 つ目を選択して起動.
マニュアルにある通り「セカンダリ」に設定.
これで正常になってくれれば良いが…
Win10 VC 2005 で C1083 msxml.dll
今まで WinXP + VC 2005 だったプロジェクトを Win10 に持ってきてビルドすると,
1>------ ビルド開始: プロジェクト: i3DV, 構成: Debug Win32 ------ 1>コンパイルしています... 1>MainFrm.cpp 1>t:\develop\_.src\__iwao\xml_ms_.hxx(21) : fatal error C1083: タイプ ライブラリ ファイルを開けません。'msxml.dll': No such file or directory 1>i3DVView.cpp 1>t:\develop\_.src\__iwao\xml_ms_.hxx(21) : fatal error C1083: タイプ ライブラリ ファイルを開けません。'msxml.dll': No such file or directory ... 1>コードを生成中... 1>i3DV - エラー 16、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========
Win10 には msxml.dll がないためエラーとなっている.
VC 2008 以降のプロジェクトは Win7 でビルドできる様にしていた ので問題ない.
#if (_WIN32_WINNT >= 0x0600) // Vista
#import <msxml6.dll> named_guids
#define MSXML MSXML2
#define CLSID_DOMDocument CLSID_DOMDocument60
#else
#import <msxml.dll> named_guids
#endif
WinXP 環境でも msxml6.dll は存在しているので,_MSC_VER>=1400 で判断する様に変更.
#if (_MSC_VER >= 1400) // VC 2005
#import <msxml6.dll> named_guids
#define MSXML MSXML2
#define CLSID_DOMDocument CLSID_DOMDocument60
#else
#import <msxml.dll> named_guids
#endif
msxml.dll を使用しない方法 で書き直し
https://jml.mish.work/index.php/cpp/xml.html
VC 10 以降で C2146 C4430
共通のソースなどが入っているサーバ WSS が壊れたので,他に逃がして「T:ドライブ」として参照するようにした.
VC のディレクトリの設定を DevS より下に T:\ を追加.
その時,VC 10 以降の次のファイルを編集してビルドが通らなくなってしまった.
C:\Users\Iwao\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp. … .user.props
1>------ ビルド開始: プロジェクト: DmpC, 構成: Debug Win32 ------ 1> StdAfx.cpp 1> _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h) 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(290): error C2146: 構文エラー : ';' が、識別子 'PVOID64' の前に必要です。 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(290): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(8992): error C2146: 構文エラー : ';' が、識別子 'Buffer' の前に必要です。 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(8992): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(8992): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
原因は DX90SDK の Include で,間違って追加した次のものを削除して対応.
T:\Develop\Lib\DX90SDK\Include;