空のコンソール AP で C2065 C2146
空のコンソール AP プロジェクトで,ビルドすると
--------------------構成: MkBG_up - Win32 Debug-------------------- コンパイル中... MkBG_up.cpp \\devs\documents\develop\_.src\__cpr_\straryfn.hxx(254) : error C2065: 'MessageCon' : 定義されていない識別子です。 \\devs\documents\develop\_.src\__cpr_\straryfn.hxx(254) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。 \\devs\documents\develop\_.src\__cpr_\straryfn.hxx(254) : error C2065: 'bar' : 定義されていない識別子です。 \\devs\documents\develop\_.src\__cpr_\straryfn.hxx(258) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\messbar.hxx(23) : warning C4005: 'MessageBar' : マクロが再定義されました。 s:\develop\vc_test\_3d\mkbg_up\mkbg_up.cpp(19) : 'MessageBar' の前の定義を確認してください \\devs\documents\develop\_.src\__cpr_\openfile.hxx(56) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。 \\devs\documents\develop\_.src\__cpr_\openfile.hxx(66) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\enumfile.hxx(342) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。 \\devs\documents\develop\_.src\__iwao\enumfile.hxx(346) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\enumfile.hxx(412) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。 \\devs\documents\develop\_.src\__iwao\enumfile.hxx(419) : error C2228: '.SetBarMax' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\enumfile.hxx(420) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。 .... \\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(66) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。 \\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(67) : error C2228: '.SetBar' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(68) : error C2228: '.SetBar' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(72) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。 cl.exe の実行エラー MkBG_up.exe - エラー 53、警告 1
リビルドすると通る.
「プリコンパイル済みヘッダーを自動的に使用」になっているためで,
「プリコンパイル済みヘッダを使用しない」にするか,pch を正しく指定する.
半年ほど前にも同じ記事を書いてた.
VC 6 LNK2001 __beginthreadex
空のコンソール AP プロジェクトで,Afx.h を追加でインクルードしてビルドすると,
--------------------構成: MkBG_up - Win32 Debug-------------------- リンク中... nafxcwd.lib(thrdcore.obj) : error LNK2001: 外部シンボル "__endthreadex" は未解決です nafxcwd.lib(thrdcore.obj) : error LNK2001: 外部シンボル "__beginthreadex" は未解決です c:\Temp\Test_3D\MkBG_up\Debug.060/MkBG_up.exe : fatal error LNK1120: 外部参照 2 が未解決です。 link.exe の実行エラー MkBG_up.exe - エラー 3、警告 0
プロジェクトの設定で「共有 DLL で MFC を使用」などに変更.
2018/06/29 追記
エラーが出た直後の場合は,リビルドが必要.
Cardboard と WebGL
Cardboard で撮った画像を,WebGL の背景として利用してみた.
もう少しうまく貼れればと思うが,方法がわからない.
球に貼っているため縦方向に引き伸ばされてしまう.
以下,画像は 横:縦 = 2:1 に編集している.
このすぐ下は,SceneJS を使用したもの.
2018/04/27 画像をアップロードできるページ
360度パノラマ画像の表示
あなたのサイト … を読み込めません
メールを確認していると,
iwaoodn さん、こんにちは。
2018年3月29日 (木) 10:55 AMに確認しましたが、あなたのサイト http://mish.myds.me/wordpress/dev を読み込めませんでした。
Your site is returning a 403 error, which normally indicates that your host’s security measures are blocking our monitoring requests. Please have them confirm that they are not blocking any requests from our user agent.
引き続きサイトが停止しているようであれば、ホスティング事業者に助けを求めた方がよいでしょう。サイトが再び稼働してオンラインになれば、もう一度お知らせします。
View your site’s activity to investigate when and perhaps why it went down.
モニターについてもっと詳しく
このメールが届いた理由
You are receiving this email because you have activated Jetpack Monitor on your site. If you need to contact support, please include this reference: [136721373/blocked].
Manage your email settings
Automattic, Inc., 60 29th Street #343, San Francisco, CA 94110, USA
Automattic は Jetpack、WordPress.com、WooCommerce などの運営会社です。600名以上の従業員が50以上の都市で働いており、常時社員募集中です。
LAN 内からアクセスは特に問題がない.
Moto G5 で外からアクセスすると 403 .
WSR-300HP が不安定なことが影響したのか?
Aterm BL190HW,WSR-300HP,DS116 を再起動して,うまく動作する様になったことを確認.
送信された URL に noindex タグが…
以前から,Search Console で次のような状態になっていた.
http://mish.myds.me/wordpress/i-tools/ に関するメッセージを表示 »
サイト http://mish.myds.me/wordpress/i-tools/ の インデックス登録の対象範囲 に関する問題の修正を確認しています
http://mish.myds.me/wordpress/i-tools/ の所有者様
弊社では、貴サイトの インデックス登録の対象範囲 に関する問題の修正について確認を開始いたしました。具体的には、6 ページに現在影響を及ぼしている「送信された URL に noindex タグが追加されています」について確認しております。
テストが完了しましたら、結果をお送りいたします。以下のリンクにアクセスして、テストの進捗状況をご確認いただくこともできます。
調べてみると,html のソースに「All in One SEO Pack」とコメントがある.
「All in One SEO」-「一般設定」内の「Noindex 設定」を意図した状態に変更して対応.
WSR-300HP が不安定?
2017/07 に追加した,WSR-300HP の Wi-Fi が最近不安定になり始めた?
先週一度,昨日,今日.
外には接続せずLAN 内のみでの運用.有線は問題なく動作している.
「無線LAN設定」の「有効」のチェックを外して,またチェックして対応している.
ファームウェアのバージョンは 2.40 なので,これで良さそう.
暫く落ち着いていたように思うが,昨日からまた調子が悪い.
個人的に,このメーカー製との相性か?
2019/02/20
いつからかは忘れたが,DS115j に接続していた WLI-UC-AG300N を外してから安定している様に思う.
DS116 は WLI-UC-AG300N を使用して,このルータと接続している.
B-Spline
B-Spline ノットベクトル
v_double BS_make_knot (const Vd4A& pnts,const size_t order) { v_double knot ; size_t degree = order - 1 ; { for (size_t index0=0 ; index0< degree ; index0++) { knot.push_back(0) ; } for (size_t index_=0 ; index_< pnts.size()-degree ; index_++) { knot.push_back(index_) ; } for (size_t indexL=0 ; indexL< degree+1 ; indexL++) { knot.push_back(pnts.size()-degree) ; } } return knot ; } 「制御点 8 個,次数(degree) 2」で求まったノットは, 0 0 0 1 2 3 4 5 6 6 6
B-Spline basis
3D グラフィックスのための数学入門 157 ページをコードに. コードは,kodatuno を参考にさせてもらった.
double BS_basis (const double t,c_v_double& knot,const long order,const long i) { if (order <= 0) { return 0. ; } if (order == 1) { // Ni,0(t) if (t == knot[knot.size()-1]) { if (knot[i]<=t && t<=knot[i+1]) { return 1. ; } else { return 0. ; } } else { if (knot[i]<=t && t< knot[i+1]) { return 1. ; } else { return 0. ; } } } else { double n1 = 0 ; // (*/0) --> n = 0 double n2 = 0 ; double d1 = knot[i+order-1] - knot[i ] ; // T(i+k) -T(i) double d2 = knot[i+order-0] - knot[i+1] ; // T(i+k+1)-T(i+1) if (!::V1_is_near<double<(d1,0)) { n1 = t - knot[i] ; // t - T(i) n1 = n1 * BS_basis(t,knot,order-1,i ) ; // N(i, k-1)(t) n1 = n1 / d1 ; } if (!::V1_is_near<double<(d2,0)) { n2 = knot[i+order-0] - t ; // T(i+k+1)-t n2 = n2 * BS_basis(t,knot,order-1,i+1) ; // N(i+1,k-1)(t) n2 = n2 / d2 ; } return (n1 + n2) ; } return -1. ; }
double BS_basis (const double t,const long order,const long i) { if (order <= 0) { return 0. ; } if (order == 1) { // Ni,0(t) if (i<=t && t< i+1) { return 1. ; } else { return 0. ; } } else { double n1 = 0 ; double n2 = 0 ; double d1 = order - 1 ; // k double d2 = order - 1 ; // k if (!::V1_is_near<double<(d1,0)) { n1 = t - i ; // t-i n1 = n1 * BS_basis(t,order-1,i ) ; // N(i ,k-1) n1 = n1 / d1 ; } if (!::V1_is_near<double<(d2,0)) { n2 = (i+order-0) - t ; // i+k+1 - t n2 = n2 * BS_basis(t,order-1,i+1) ; // N(i+1,k-1) n2 = n2 / d2 ; } return (n1 + n2) ; } return -1. ; }
long pt_count = 7 ; v_vd_n.resize(pt_count) ; for (size_t index=0 ; index<10 ; index++) { for (size_t index_d=0 ; index_d<div_c ; index_d++) { double t = double(index*div_c + index_d)/div_c ; for (size_t i=0 ; i<pt_count ; i++) { double r = ::BS_basis(t,order,i) ; Vd3A v3a = v_vd_n[i] ; Vd3 v(v3a.size(),r*100,0) ; v3a.push_back(v) ; v_vd_n[i] = v3a ; } } }
BRD-UT16WX その後 – 2
あまり使用しない BD ドライブ.
BD レコーダ周りを片付けていたら,以前買った Home Alone 1,2 が出てきた.
これを PC で見ようと思ったが,…
再生できない? なんで?
前回 見ることができた BTTF も見れなくなっている.
DVD は問題ない.
DBR-T2007 追加
T460 の調子が悪くなったので追加.
T460 と並べて設置.
「リモコンコード」を T460 と同じコードを設定してしまったため,両方が反応する様になってしまった.
T2007 を「リモコンコード3」に変更して,意図した動作になった.
口コミではあまり良くない評価も見られるが,簡単に操作した限りは T460 と同じ様な感じ.
DiXiM Digital TV plus で,T2007 も表示される.
あまり意味はないが,Moto G5 の「テレキングプレイ」で T2007 の TV を見られることを確認.
Rational B-Spline
Vd4 として w に設定してみたが,これで良いのか?
Vd3A b_spline (const Vd4& q0,const Vd4& q1,const Vd4& q2,const Vd4& q3,const long div_c) { Vd3A vd3a ; for (long index=0 ; index<=div_c ; index++) { double t = 1./div_c*index ; double n0 = 1./6 * (1.-t)*(1.-t)*(1.-t) ; double n1 = 1./2 * t*t*t - t*t + 2./3 ; double n2 =-1./2 * t*t*t + 1./2 * t*t + 1./2 *t + 1./6 ; double n3 = 1./6 * t*t*t ; double px = ( (n0*q0.x)*q0.w + (n1*q1.x)*q1.w + (n2*q2.x)*q2.w + (n3*q3.x)*q3.w ) / ((n0)*q0.w + (n1)*q1.w + (n2)*q2.w + (n3)*q3.w) ; double py = ( (n0*q0.y)*q0.w + (n1*q1.y)*q1.w + (n2*q2.y)*q2.w + (n3*q3.y)*q3.w ) / ((n0)*q0.w + (n1)*q1.w + (n2)*q2.w + (n3)*q3.w) ; double pz = ( (n0*q0.z)*q0.w + (n1*q1.z)*q1.w + (n2*q2.z)*q2.w + (n3*q3.z)*q3.w ) / ((n0)*q0.w + (n1)*q1.w + (n2)*q2.w + (n3)*q3.w) ; vd3a.push_back(Vd3(px,py,pz)) ; } return vd3a ; }
QR コードが表示されない?
いつからなのか不明だが,DS116 上の qr_img.php を使用している所で正しく表示されなくなっていた.
気付いたのは昨日の昼頃.
DS115j 上や,//itools.hp2.jp/Test/qr/ のものはうまく動作している.
//itools.hp2.jp/ は DS116 上のものを利用しているのでうまく表示されない.
「Web Station」-「PHP 設定」で,「PHP エラーメッセージ表示…」にチェック.
すると,次の様なエラー.
Fatal error: Call to undefined function ImageCreate() in /…/php/qr_img.php on line 609
検索すると GD が動作していないとのこと.
gd にチェックを付けてうまく動作する様になった.
OFF にした覚えはないので,DS116 上の何かの更新で無効になってしまったのか?
QR コード生成 – 2
次のコードを html 内に追加することで,html のを参照する QR コードを表示できます.
<script src ="//itl.mydns.jp/_lib/js/i_lib/2022.01/c_qr_img.js"> </script>
<script> call_qr_img_href() ; </script>
SiteMix ではうまく動作しなくなってしまいました.
以下は,以前の情報です.考え方などはそのまま使えるため残しています.
以前設定した「QR コード生成」を,もう少し汎用的に.
先ず,PHP が利用できるフリーのサーバを用意.
SiteMix を利用.
//itools.hp2.jp として登録.
「QRcode Perl CGI & PHP scripts ver. 0.50」をサーバーに転送.
c_qr_img.js を転送.
これを利用したページ.
//itools.hp2.jp/Test/qr/index.html
次の様なスクリプトを HTML の表示したいところに挿入する.
<script src =”/Test/qr/c_qr_img.js” > </script>
<script> call_qr_img_href() ; </script>
<script> call_qr_img_free(“http://itl.mydns.jp”) ; </script>
src=”/Test/qr/c_qr_img.js” の部分は,”//itools.hp2.jp/Test/qr/c_qr_img.js” でテスト可能.
最終的には c_qr_img.js の次の所を,利用環境に合わせて編集してください.
var domain = “//itools.hp2.jp” ;
var qr_php = domain + “/Test/qr/qr_img/php/qr_img.php” ;
うまく動作しない時のチェック方法
QR コードが表示されない場合
JavaScript 内の qr_img.php の呼び出しが間違っている可能性があります.
ブラウザによっては「要素を調査」などで php を呼び出している部分を確認できます.
何も表示されない場合
JavaScript 自体をうまく呼び出せてない可能性があります.
html 内の呼び出し部分を確認してください.
c_qr_img.js
function call_qr_img_php (data,is_draw_data) { var domain = "//itools.hp2.jp" ; var qr_php = domain + "/Test/qr/qr_img/php/qr_img.php" ; { var qr_img = "<img src='" + qr_php + "?d=" + data + "'>" ; document.write (qr_img) ; } if (is_draw_data) { document.write ("<br/>") ; document.write (data) ; } } function call_qr_img_href () { var href = location.href ; call_qr_img_php (href,true) ; } function call_qr_img_free (freeText) { call_qr_img_php (freeText,true) ; }
2018/06/29 追記
https に移行した関係で,SiteMix ではうまく動作しなくなってます.
2021/07/14 qr_img.php を呼出す JavaScript を修正
Win10 1709 その後
内臓のディスク容量が少ないので,「ジャンクション」を利用して D にしていた.
C:\Users\Public\Documents>dir /a ドライブ C のボリューム ラベルは OS です ボリューム シリアル番号は 9899-964A です C:\Users\Public\Documents のディレクトリ 2018/01/21 13:56 <DIR> . 2018/01/21 13:56 <DIR> .. 2016/02/11 01:29 <JUNCTION> Asus [C:\Public\Document\Asus] 2017/09/29 20:52 278 desktop.ini 2016/02/11 01:49 <JUNCTION> Dropbox [C:\Public\Document\Dropbox] 2016/12/22 11:01 <DIR> images 2016/02/11 01:27 <JUNCTION> M... [C:\Public\Document\M...] 2016/02/11 01:16 <JUNCTION> M... [C:\Public\Document\M...] 2015/07/10 18:55 <JUNCTION> My Music [C:\Users\Public\Music] 2015/07/10 18:55 <JUNCTION> My Pictures [C:\Users\Public\Pictures] 2015/07/10 18:55 <JUNCTION> My Videos [C:\Users\Public\Videos] 2018/01/21 14:20 <DIR> Temp 2016/02/11 01:26 <JUNCTION> Tools [C:\Public\Document\Tools] 2016/02/20 16:28 0 VC_Path.BAK 2016/02/20 16:31 2,563 VC_Path.txt 2016/12/21 23:45 168 web.config 2017/02/17 22:12 <DIR> w_Conf 4 個のファイル 3,009 バイト 13 個のディレクトリ 3,028,328,448 バイトの空き領域
* 一部ディレクトリ名などは編集済み.
JUNCTION という情報は残っているようではあるが,D ドライブを正しく指していない.
確か,1607 でも一部(%Temp% 直下のジャンクション)がうまく引き継がれなかった.
ここが引き継げないのはわからなくもないが,Public\Documents 以下は何とかできないものか?
template の利用
inline tstring x_To_tstring (const i_64 v) { return ::i64tot (v,10) ; } inline tstring x_To_tstring (const u_64 v) { return ::u64tot (v,10) ; } inline tstring x_To_tstring (const long v) { return ::i64tot (v,10) ; } inline tstring x_To_tstring (const int v) { return ::i64tot (v,10) ; } inline tstring x_To_tstring (const float v) { return ::To_tstring_rz (v,0, 7) ; } inline tstring x_To_tstring (const double v) { return ::To_tstring_rz (v,0,15) ; } template <class V2> tstring V2_To_tstring(const V2& vt,LPCTSTR sp=_T(" ")) { tstring str = ::x_To_tstring(vt.x) + sp ; str+= ::x_To_tstring(vt.y) + sp ; return str ; } template <class V2> tstring V2_To_tstring(const std::vector<V2>& va,LPCTSTR sp2=_T("\t"),LPCTSTR sp=_T("\r\n")) { tstring str ; for (size_t index=0 ; index<va.size() ; index++) { str += ::V2_To_tstring<V2>(va[index],sp2) + sp ; } return str ; }
次の様にすると, tstring pt_str = ::V2_To_tstring(pt2) ; C:\...\T_SplVw.cpp(99) : error C2667: 'V2_To_tstring' : 2 個のオーバーロード関数があいまいで最適な変換ができません。 C:\...\T_SplVw.cpp(99) : error C2668: 'V2_To_tstring' : オーバーロード関数の呼び出しを解決することができません。(新機能 ; ヘルプを参照)
呼出し方法を忘れるので…
Vl2A pt2 ;
tstring pt_str = ::V2_To_tstring<Vl2>(pt2) ;
他にも,
::V2_To_tstring<Vd2>(::ToVd2A(tuvs)) ;