2019/11/30(土) [n年前の日記]
#1 [gimp] gimp-texturizeのビルドをまだまだ試しているところ
texturize.exe は作れるものの、GIMP 2.8.22 Portable のフィルタメニューに出てこない。どうにかできんものかと試行錯誤中。
◎ メニュー部分がブロックされてないか確認。 :
もしや、GIMP側のフィルタメニューの該当部分が、何かしらでブロックされているような状態になってたりしないかと不安になってきた。
試しに、vignetting.c のメニュー登録部分を、<Image>/Filters/Map/Texturize... に変更してビルド。これで登録できなかったら、ブロックされてる可能性も考えないといけない。
ちゃんとメニューに出てきた。ということは、GIMP側で該当メニュー部分をブロックしているとか、そういうことはないようだなと…。
試しに、vignetting.c のメニュー登録部分を、<Image>/Filters/Map/Texturize... に変更してビルド。これで登録できなかったら、ブロックされてる可能性も考えないといけない。
ちゃんとメニューに出てきた。ということは、GIMP側で該当メニュー部分をブロックしているとか、そういうことはないようだなと…。
◎ cppが原因っぽい。 :
ひょっとして、.cpp(C++ソースファイル)が含まれていることが原因だったりしないか。試しに、C++で書かれたソースは除外して、Cで書かれたソースのみでビルドするよう修正して動作確認。
この状態なら、フィルタメニューに項目が出てきた…。
ということは、Cだけでソースが書かれてる場合はフィルタメニューに登録することができるけど、C++で書かれたソースが混ざってるとフィルタメニューに表示されない状態になる、ということかなと…。
.c だけなら、リンク時に gcc.exe を使うし、.cpp があるなら、リンク時に g++.exe を使うようにしているけれど。リンカ用のオプション指定で回避できるのだろうか。それとも GIMP側に何か追加しないといかんのだろうか。
この状態なら、フィルタメニューに項目が出てきた…。
ということは、Cだけでソースが書かれてる場合はフィルタメニューに登録することができるけど、C++で書かれたソースが混ざってるとフィルタメニューに表示されない状態になる、ということかなと…。
.c だけなら、リンク時に gcc.exe を使うし、.cpp があるなら、リンク時に g++.exe を使うようにしているけれど。リンカ用のオプション指定で回避できるのだろうか。それとも GIMP側に何か追加しないといかんのだろうか。
[ ツッコむ ]
以上です。