2019/11/21(木) [n年前の日記]
#1 [gimp] gimp-texturizeプラグインのソースをまだ眺めている
とりあえず、修正を加えたソースだけ、一応ココにも置いておく。
_texturize_2.1b_windows_32bit.zip (Windows用バイナリ、GIMP 2.10.14 32bit で動作確認)
_compter.c
_interface.c
_main.c
_main.h
_offset.c
_render.c
_texturize.h
※ 2019/11/22追記。バイナリだけ、DOS窓を開かない版と差し替えておいた。
修正内容は以下。だったような気がする。
オリジナルは以下。
_lmanul/gimp-texturize: Texturize plugin for the GIMP
_texturize_2.1b_windows_32bit.zip (Windows用バイナリ、GIMP 2.10.14 32bit で動作確認)
_compter.c
_interface.c
_main.c
_main.h
_offset.c
_render.c
_texturize.h
※ 2019/11/22追記。バイナリだけ、DOS窓を開かない版と差し替えておいた。
修正内容は以下。だったような気がする。
- Windows上で実行した際にクラッシュしないように修正。
- キャンセルボタンを押した際にエラーが出ないように修正。
- 「フィルターの再適用」を行ってもクラッシュしないように修正。
オリジナルは以下。
_lmanul/gimp-texturize: Texturize plugin for the GIMP
◎ DOS窓を開かないようにする方法が分からず。 :
このプラグインは、Windows上で呼び出すとDOS窓が開くのだけど。開かないようにする方法が分からない…。
gcc に -mwindows というオプションをつけてビルドすれば、GUIアプリとしてビルドできる、という話も見かけたのだけど。その場合、int main(void) ではない関数が、メイン関数として呼ばれるらしくて…。
他のプラグインは、このあたりどうやって解決してるんだろう…。
gcc に -mwindows というオプションをつけてビルドすれば、GUIアプリとしてビルドできる、という話も見かけたのだけど。その場合、int main(void) ではない関数が、メイン関数として呼ばれるらしくて…。
他のプラグインは、このあたりどうやって解決してるんだろう…。
◎ ビルド時の警告メッセージが多過ぎる。 :
gimp-texturize は、結構昔 ―― 2005年頃に作られたプラグインのため、GIMP 2.10.x では非推奨になってしまった関数をいくつか呼び出しているようで。そのため、ビルド時には結構な数の警告メッセージが表示されてしまい、コンパイルエラーが出ているかどうかが分かりづらい。警告メッセージの表示を、ちょっと抑えるような指定をしたい…。
_宇宙の晴れ上がり: GCCで特定の警告を一時的に無効にする
_deprecated (廃止予定)のワーニングを非表示にする方法 - 強火で進め
_deprecated なメソッド呼び出しで警告が出ないようにする - Qiita
_ちょっと古いプロダクトの Warning エラー無視 - clock-up-blog
以下のように打ち込めば、警告メッセージを表示しない状態にできると知った。
とは言え、make する際に打ち込み直すのが面倒。src/Makefile に直接書いてしまうことにした…。CFLAGS , CPPFLAGS を探して、以下を追記。
これで、警告メッセージをごっそり非表示にできた。
_宇宙の晴れ上がり: GCCで特定の警告を一時的に無効にする
_deprecated (廃止予定)のワーニングを非表示にする方法 - 強火で進め
_deprecated なメソッド呼び出しで警告が出ないようにする - Qiita
_ちょっと古いプロダクトの Warning エラー無視 - clock-up-blog
以下のように打ち込めば、警告メッセージを表示しない状態にできると知った。
make CXXFLAGS=-Wno-deprecated-declarations CFLAGS=-Wno-deprecated-declarations
とは言え、make する際に打ち込み直すのが面倒。src/Makefile に直接書いてしまうことにした…。CFLAGS , CPPFLAGS を探して、以下を追記。
... CFLAGS = -g -O2 -Wall -Wno-deprecated-declarations ... CPPFLAGS = -Wno-deprecated-declarations
これで、警告メッセージをごっそり非表示にできた。
[ ツッコむ ]
以上、1 日分です。