• ベストアンサー

Windowsでmake??

http://oshiete1.goo.ne.jp/kotaeru.php3?q=831947 で質問をしているものですが、ネットでCanonのRAWについて調べていたら、 http://www.wonderland.org/crw/ このページを見つけました。 ここにあるlibrawを使いたいのですが、どうすればよいのかわかりません。 とりあえず解凍はできました。 Windowsでこのライブラリは使えますか? わかる方、make?の仕方と使い方をご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mcWalker
  • ベストアンサー率69% (27/39)
回答No.3

#2 です。もう少し補足します。 libraw の関数構成は、Cプログラムの関数ツリーを取る ユーティリティで見ると、よく分かると思います。 私も カメラの CCD データをこんな風に取りこんでいるのか と初めて知りました。面白いですねえ。なんか AD 変換に 似た印象を持ちました。 圧縮は、データ・サイズを小さくするためにキャノンが 工夫したものみたいですが、ビットを詰めて記録しています。 圧縮の知識は、松坂大学の奥村晴彦先生のアルゴリズム事典などを 見ると、感覚がつかめると思います。先生に聞くと親切に 教えてくれました。以前のことですが。 また、libraw の作者にメールするのもいいかも知れません。 3年前の作成ですから、本人も忘れたとかいうかも知れませんが。

mkmarimo
質問者

お礼

なんだか、すごいですねぇ。 ソースをみるだけでそんなにわかるんですね。 尊敬です。 丁寧に補足していただき感謝です。ありがとうございます。

その他の回答 (2)

  • mcWalker
  • ベストアンサー率69% (27/39)
回答No.2

なんで crw format に関係したか忘れていましたが、 printer 付属の ZoomBrowser で、ちょっと調べたのを思い出しました。 興味があったので、libraw を見ました。 学生さんですよね。初心者に説明するようには言いませんが、 #1の方の説明を補足しますと、 BSD の lib あるは互換のものが必要かも知れません。 jpeg あるいは png への変換を想定していますので、 このままコンパイルすると、どっちかの lib またはソースが 必要になります。(ネットにあります) 気になる点は、camera が EOS の D30 か D60 のデータに 限定されているらしいことです。 しかし、元々 format が分からないデータを解析するつもり でしたでしょうから、付属の data format 表を見るのは 何もないより効率は良さそうです。ご健闘を。

mkmarimo
質問者

お礼

ご回答ありがとうございます。 シロートすぎてよくわかりませんが、結局このソースが実行できたとしても各色8ビットの画像ファイルになってしまうのですね。 付属のdata format表も見ているのですが、よくわかりません・・・ ありがとうございました。

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

元ソースはunix系のgc(gnu c)用に書かれているようですから、移植が必要になりますね。 幸い、コンパイルスイッチ等は Makefile、Makefile.inc に書かれているので、Windows上のCコンパイラでコンパイルする際に、同等の意味を持つコンパイルスイッチを付けてコンパイルすれば「コンパイルだけは」可能でしょう。 問題なのは、処理系に依存してしまう部分。元ソースはWindows上のCコンパイラでコンパイルする事を想定していませんから「コンパイルは通るけど動かない」と言う部分が出てくる可能性があります。と言うか、確実に出ます。 例えば、構造体の境界パディング問題、構造体のビットフィールドの上位下位バイト問題、ファイル入出力系OSコールライブラリのバイナリ・テキスト問題など。 一例を挙げれば open(filename , O_RDONLY) と書かれている場合 open(filename , O_RDONLY | O_BINARY) と書き加えるなど。 unix系ではファイルのオープンにテキストもバイナリも区別が無い(テキスト/バイナリの概念が無い)ので O_TEXT とか O_BINARY と言う属性はありません。 しかしWindows系では、テキストファイルはテキストモードで、バイナリファイルはバイナリモードでオープンしないと、まともにファイルアクセス出来なくなるので、モード属性を足してあげる必要があるのです。 そういった訳で、ソースコードの1行1行について機種依存と処理系依存を検証しつつ移植する事になるので、unix系からDOS系(Windows系)への移植経験が無い場合、かなり大変な作業になると思います。

mkmarimo
質問者

お礼

ご回答ありがとうございます。 そうでしたか、かなり大変なんですね。 わざわざソースまで見ていただいたみたいで感謝します。 ちょっとじっくりこのソースと向き合ってみます。 ありがとうございました。

関連するQ&A