catalina になったら、動作しないアプリが山のようにあったので、整理した。
ショックだったのは、ScanSnap Manager が動かない事。
富士通のサポート情報によると S1500M は Catalina に対応しませんとの事。\(^o^)/オワタ
それと同時に Adobe Acrobat Pro も\(^o^)/オワタ
やっべー、ディスプレイのカラーマネジメントのソフト ColorMunki Photo も動かないじゃないか!!!と思ってると、ColorMunki Display | MacRumor に情報がポストされてた。
それによると、ここのソフトをダウンロードして実行し、古い ColorMunki をアンインストールする。次に i1Studio で継続してサポートされるようになったので、こちらのソフトをインストールすべし!との事
やってみたら、接続エラー1020 でダメだったのに、1日経ってやり直したら、測定できました。※接続エラーになる場合 i1Studioを強制終了させてから実行すると良いです。
2019年10月20日日曜日
2019年10月11日金曜日
geotiff の変換あれこれ忘備録
ウィンドウズのバッチでまとめて見ました。
Windows 10 がコマンドプロンプトの utf-8 に対応したため、chcp 65001 をしてコマンドを実行した方が、トラブルが少ないです。
Windows 10 がコマンドプロンプトの utf-8 に対応したため、chcp 65001 をしてコマンドを実行した方が、トラブルが少ないです。
geotiff ファイルから png ファイルに変換する(goetiff to png)
if "%1"=="" goto err chcp 65001 GDAL_TRANSLATE -OF PNG -B 1 -B 2 -B 3 %1.tif %1.png goto end :err echo param1 [basefilename] :end
geotiff を分割する(divide geotiff)
if "%1"=="" goto err chcp 65001 echo divide geotiff 5000x5000 mkdir %1 call gdal_retile -ps 5000 5000 -targetDir %1 %1.tif :err echo param1 [basefilename] :end
png の色を変換する
if "%1"=="" goto err chcp 65001 convert %1.png -fill "#FEFEFE" -opaque "#FFFFFF" %1_.png convert %1_.png -fill "#010101" -opaque "#000000" %1_dst.png :err echo param1 [basefilename] :end
png を分割する(divide png)
if "%1"=="" goto err chcp 65001 echo divide png 5000x5000 convert %1.png -crop 5000x5000 +repage +adjoin %1\%1_%%02d.png :err echo param1 [basefilename] :end
World Fileを出力する(export world file(*.tfw) from geotiff)
if "%1"=="" goto err chcp 65001 for %%s in (*.tif) do listgeo -tfw %%s :err echo param1 [basefilename] :end
2019年10月9日水曜日
sqlcipher 対応のWindows x64版 sqlite3.dll をビルドした忘備録
前回の忘備録から3年
x64 版の sqlcipher 対応 dll をビルドしてくださいと言われて、気分はもにょーん。
sqlcipher-4.2.0 をダウンロードしてきて、ActiveTcl の32bit版、バージョン古い方を入れて
Makefile.msc を追っていくと、ライブラリのパスが間違ってる、リンクオプションがメタメタ、その他諸々設定が反映されず、とにかくビルドできるような状況にもっていくのが大変そうだった。
そこで、nmake して生成された sqlite3.c sqlite3.h sqlite3ext.h sqlite3session.h から DLL をビルドした方が簡単な気がして試してみた。
そして、sqlite3.c sqlite3.h sqlite3ext.h sqlite3session.h をプロジェクトに追加する。
プリプロセッサの定義として
x64 は、stdcall 形式がなく cdecl 形式で、以下のようにエクスポートされている。
x64 版の sqlcipher 対応 dll をビルドしてくださいと言われて、気分はもにょーん。
sqlcipher-4.2.0 をダウンロードしてきて、ActiveTcl の32bit版、バージョン古い方を入れて
C:\Work\sqlcipher-4.2.0> nmake -f makefile.msc SQLITE_HAS_CODEC=1 USE_CRT_DLL=1 PLATFORM=x64ってやったら、
sqlite3.c(30924): error C2061: 構文エラー: 識別子 'CRITICAL_SECTION' sqlite3.c(30931): error C2059: 構文エラー: '}' sqlite3.c(30986): error C2079: 'winMutex_staticMutexes' が 未定義の struct 'sqlite3_mutex' で使用しています。 sqlite3.c(30999): fatal error C1903: 直前のエラーを修復できません。コンパイルを中止します。となって、ビルドできない。
Makefile.msc を追っていくと、ライブラリのパスが間違ってる、リンクオプションがメタメタ、その他諸々設定が反映されず、とにかくビルドできるような状況にもっていくのが大変そうだった。
そこで、nmake して生成された sqlite3.c sqlite3.h sqlite3ext.h sqlite3session.h から DLL をビルドした方が簡単な気がして試してみた。
空のDLLプロジェクトを作成
プリプロセッサの定義として
SQLITE_API=__declspec(dllexport) SQLITE_HAS_CODEC=1を追加すればOKだ。 vcpkg を導入済みであれば、openssl もあっけなくリンクされてくる。
x64 は、stdcall 形式がなく cdecl 形式で、以下のようにエクスポートされている。
2019年10月8日火曜日
android ndk clang に変わってから、まじめに再構築してみた備忘録
Android ndk を 20.0 にして今まで動作してたコードをコンパイルしてたんですわ。
その時に、躓いた事を記録と…。
当時は APP_STL : stlport_shared と gnustl_static の2種類で、stlport にあるけど、gnustl にない。gnustl にあるけど、stlport にない。両方欲しいのだが詰んだwとか、苦労してましてん。そしたら、c++_shared と c++_static に変更されてました。
ビルドする時に、__atomic_inc とか使ってたんですけど、時代は std::atomic に変わってました。
いざ実行しようとすると、libc++_shared.so が無いとか言って、怒られる。
こいつ、どこにあんねん!(#^ω^)と怒ってたら、ドキュメントに記載されてました。
注: libc++ はシステム ライブラリではありません。
という訳で、ndk の sources/cxx_stl/llvm-libc++/libs/ 下からファイルを引っ張ってきて、apk にバンドルするようにしたら動作するようになりました。
だいたい動くようになったんですが、libtiff の部分で SIGSEGV 起こりまくり。きっと gcc から clang に変更されたので integer 系のサイズが変わったとかなんでしょう。stdint.h とかでカッチリとサイズ指定の integer 宣言してくれていればいいのですが…。
ブログを書いててよかったのは、サイズの違いでSIGSEGVと、苦しんでたんでのを思い出せた事でしょうか。
あわよくば、ndkもメンテできる体制に戻そうと思ったんですが、もうちょいかかりそうです。
その時に、躓いた事を記録と…。
当時は APP_STL : stlport_shared と gnustl_static の2種類で、stlport にあるけど、gnustl にない。gnustl にあるけど、stlport にない。両方欲しいのだが詰んだwとか、苦労してましてん。そしたら、c++_shared と c++_static に変更されてました。
ビルドする時に、__atomic_inc とか使ってたんですけど、時代は std::atomic に変わってました。
いざ実行しようとすると、libc++_shared.so が無いとか言って、怒られる。
こいつ、どこにあんねん!(#^ω^)と怒ってたら、ドキュメントに記載されてました。
注: libc++ はシステム ライブラリではありません。
libc++_shared.so
を使用する場合は、APK 内に含める必要があります。Gradle を使用してアプリをビルドしている場合、この処理は自動的に行われます。という訳で、ndk の sources/cxx_stl/llvm-libc++/libs/ 下からファイルを引っ張ってきて、apk にバンドルするようにしたら動作するようになりました。
だいたい動くようになったんですが、libtiff の部分で SIGSEGV 起こりまくり。きっと gcc から clang に変更されたので integer 系のサイズが変わったとかなんでしょう。stdint.h とかでカッチリとサイズ指定の integer 宣言してくれていればいいのですが…。
ブログを書いててよかったのは、サイズの違いでSIGSEGVと、苦しんでたんでのを思い出せた事でしょうか。
あわよくば、ndkもメンテできる体制に戻そうと思ったんですが、もうちょいかかりそうです。
登録:
投稿 (Atom)