Synology g++ DrawLog.cpp
前回 mac 上で動作する様にしたものを DS115j に.
CPATH などの設定も mac と同じ様な感じで指定.
php から呼び出し,実行ファイルが起動していることは確認できていた.
DSM の「リソース モニタ」-「プロセス」で確認.
が,結果が正しく表示されない.
ssh で接続しての起動では正しく動作している.
原因は,デバッグ用にデータをダンプしていたディレクトリのアクセス権の設定.
書き込み可能にして OK .
HVL-S3 追加
HVL-S3 を追加.本当は HVL-DR が欲しかったが,ちょっと高いので…
HDL-AHW を持っているので,「DiXiM Digital TV plus for I-O DATA」で再生.
この AP が不安定なのは AHW と同様だが,他は特に問題ない.
AHW からの「コンテンツの操作」は他の機器と同様.
HVL-S での「コンテンツの操作」の「他から…」はできないみたい.
コンテンツのチェック欄がない.
「持ち出せる番組」にあるものはチェック欄がある.
2017/06/06
Z2 などでの再生は OK .
REC-ON HVTR-BCTX3 付属のテレキングプレイでは再生できないみたい.
g++ DrawLog.cpp
今まで xcode を利用していたが,他の PC からビルドするために…
コードは次の様なもの.ほとんどの動作はi_DrawLG.hxx 内に.
// カレントのファイルを成型してファイルに出力
#include “i_DrawLg.hxx”
#include <iostream>
int _tmain (int argc,TCHAR* argv[])
{
_tsetlocale(LC_ALL,_T(“”)) ;
{
std::tout << ::GetCWD() << std::endl ;
}
tstring logPath = _T("./") ;
#ifdef _WIN32
logPath = ::Get_i_Tools_tmp() ;
#endif
::PL_DrawLog(logPath) ;
return 0 ;
}
//———————–
#include "MessBar.cxx"
次の様に -I で指定すれば,include が機能するのは知っていたが…
g++ DrawLog.cpp -I/Users/…/__CPR_ -I/Users/…/__Iwao
環境変数を利用する様に
export CPATH=/Users/…/__CPR_
export CPATH=/Users/…/__Iwao:$CPATH
これらをスクリプトファイルに登録.
呼出し元にも反映させるには bash env.sh ではなく
source env.sh とする必要があるらしい.
sh ファイルを MIFES で編集していて,微妙にうまく動作していない.
原因は改行コードで,「LF」で保存.
これで g++ DrawLog.cpp としてビルドできる様になった.
実行すると,Segmentation fault: 11.
xcode でもテストしてなかったのでデバッグすると,
readdir で EXC_BAD_ACCESS .
ここは _WIN32 では通らないのでデバッグが不十分な部分.
原因は,与えているファイルが
ディレクトリでなかった.
ファイルが存在していなかったこと.
コードを修正して OK .
Synology NAS で gcc
2022/06
https://dev.mish.work/wordpress/2022/06/15/ds116-entware/
2022/03
https://dev.mish.work/wordpress/2022/03/13/ds220-setup-4-opkg/
ssh などで接続した DS115j 上で, gcc などを使える様にするために…
ipkg や Opkg が必要らしい.
Install on Synology NAS
日本語で説明されている所があったので,参考にさせてもらった.
2016/06/29 Synology DS216j Entware-ng 導入
次の様なコードを g++ でコンパイルして ./a.out を生成.
#include <iostream>
int main() {
std::cout << "hello c++ php" << std::endl ;
return 0 ;
}
exec.php を開くと,
Web + exe
最終的に目指したい所は,
参考にさせてもらったのは,
第3回 極めてシンプルなCGIを体験する.
C:\...\Iwao>"C:\...\testCGI2\DmpSVG.exe"
Content-Type: text/html
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" >
<rect x="15" y="10" width="70" height="40" stroke="blue" fill="white" />
</svg>
C:\...\Iwao>
mac で,
先ず,php から ls の呼び出し.
exec_ls.php
<?php
system('ls') ;
ターミナルで実行(php exec_ls.php)すると,
php から a.out の呼び出し.
main.cpp
#include <iostream>
int main() {
std::cout << "hello c++ php" << std::endl ;
return 0 ;
}
g++ main.cpp としてコンパイル.
exec.php
<?php
system('./a.out') ;
ターミナルから php -S 127.0.0.1:8000 などとしておくと,
DS115j で,
php から ls の呼び出しまでは同様.
Iwao@DS115j:~/www/T_php/temp/test$
Iwao@DS115j:~/www/T_php/temp/test$ ls
exec_ls.php index.php main.cpp
Iwao@DS115j:~/www/T_php/temp/test$
Iwao@DS115j:~/www/T_php/temp/test$ php exec_ls.php
exec_ls.php
index.php
main.cpp
Iwao@DS115j:~/www/T_php/temp/test$
Iwao@DS115j:~/www/T_php/temp/test$
Synology php
PHP | 5.6 | 7.0 |
---|---|---|
itl.mydns.jp/I****/phpinfo.php | 5.6.30 | 7.0.16 |
itl.mydns.jp/~I***/phpinfo.php | 5.6.30 | 5.6.30 |
itl.mydns.jp/~i_**/phpinfo.php | 500 | 500 |
php -v | 5.6.11 | 5.6.11 |
mac php -v | 5.5.38 |
_SERVER[“SERVER_SOFTWARE”] | 2.2 | 2.4 | Nginx |
---|---|---|---|
itl.mydns.jp/I****/phpinfo.php | 2.2.31 | 2.4.25 | 1.11.10 |
itl.mydns.jp/~I***/phpinfo.php | 2.2.32 | 2.2.31 | 2.2.31 |
mac httpd -v | 2.4.18 |