jpegの処理について – 固定ページ 2 – プログラミング – Home

通知
すべてクリア

[解決済] jpegの処理について

固定ページ 2 / 3

せんべえ
 せんべえ
(@せんべえ)
ゲスト
結合: 22年前
投稿: 20
Topic starter  

>ヘッダーファイルもディレクトリの設定しなきゃダメですので。
すいません。
申し訳ないです。ここが良く分かりませんでした。
私はheader filesを右クリックしその中にjpeg-6bの全てのヘッダファイルを入れていま
す。それだけではいけないですか?
もしディレクトリの設定が必要であればどこを直せばいいですか?


返信引用
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

ツール - オプション - ディレクトリ

です。

「表示するディレクトリ」コンボボックスがインクルードファイルの時に
表示されるパスの一覧のどれかに、jpeg関連のヘッダファイルがあればいいはず。
または、jpeg関連のヘッダファイルがあるパスを一覧に登録してもOK。

あと、このコンボボックスにはライブラリファイルと言うのがあります。
この時に表示されるディレクトリの一覧のどれかに、
libjpeg.libは置かれてますか?
逆にlibjpeg.libがあるパスを一覧に登録してもOK。


返信引用
せんべえ
 せんべえ
(@せんべえ)
ゲスト
結合: 22年前
投稿: 20
Topic starter  

>この時に表示されるディレクトリの一覧のどれかに、
>ibjpeg.libは置かれてますか?
はい。Program Filesm⇒
Microsoft Visual Studio⇒ VC98⇒ Libのフォルダの中に設置しています。


返信引用
せんべえ
 せんべえ
(@せんべえ)
ゲスト
結合: 22年前
投稿: 20
Topic starter  

>表示されるパスの一覧のどれかに、jpeg関連のヘッダファイルがあればいいはず。
>または、jpeg関連のヘッダファイルがあるパスを一覧に登録してもOK。
両者も試してみましたが変わりないです。


返信引用
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

パス関係は問題ないってことですかねぇ。

ところでせんべえさんのプログラム、MFCですか?
それともSDKですか?

既にどれほど作りこまれてるのかわかりませんが、
一度、シンプルな最小プログラムにjpegライブラリを組み込めるか
試してみてはどうでしょう。


返信引用
せんべえ
 せんべえ
(@せんべえ)
ゲスト
結合: 22年前
投稿: 20
Topic starter  

返信有難うございます。
>パス関係は問題ないってことですかねぇ。
皆様の助言を踏まえたうえ、現状ではそのようにかんがえます。

>ところでせんべえさんのプログラム、MFCですか?
>それともSDKですか?

私は下記のページを参考にしています。
http://www.asahi-net.or.jp/~yw3t-trns/opengl/samples/imgsavejpeg/index.htm


返信引用
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

URLところからサンプルをダウンロードしてみました。
せんべえさんが遭遇したリンクエラーは出なかったのですが、
ビルドはうまくいきませんでした(LNK2005が発生)。

でも、ちょっと気づいたことが。
libjpeg.lib をビルドした時のコンパイルオプションなんですが、
「プロジェクトの設定」ダイアログのC/C++タブのカテゴリコンボボックスから
「コード生成」を選び、使用するランタイムライブラリ コンボボックスを見てくださ
い。
私の場合、libjpeg.libは「マルチスレッド(DLL)」になっていたのに対し、
imgsave(DLしたサンプル)は「シングルスレッド*」になってまして、
これを前者に統一したらビルドできるようになりました。


返信引用
せんべえ
 せんべえ
(@せんべえ)
ゲスト
結合: 22年前
投稿: 20
Topic starter  

sugarさん
返信有難うございます。
どうしてでしょうか??
昨夜もずっと行っていましたが解決しないままです。とほほ。
>コード生成」を選び、使用するランタイムライブラリ コンボボックスを見てくださ
い。
確認しました。私のほうはシングルスレッドになっています。
imgsave(DLしたサンプル)を実行するまでの手順をお話しします。
1.jpeg-6bをダウンロードし、 http://tanack.hp.infoseek.co.jp/libjpeg.html
このページに書かれている手順に従いVC++でコンパイルし、libjpeg.libを作成。
2.作成したlibjpeg.libをimgsave(DLしたサンプル)のプロジェクトのなかにおき、
実行。
3.リンクの設定などは皆様のアドバイスに従い設定。
このような感じになっています。
なにか気がつくことがありましたらアドバイスをいただけませんか?
お手数おかけします。


返信引用
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

> 私のほうはシングルスレッドになっています。
>
ライブラリもサンプルアプリケーションも、
一度マルチの方でビルドしなおしてみる価値はありませんかね?
一応、私の方ではマルチで動いている実績があるものですから…。


返信引用
せんべえ
 せんべえ
(@せんべえ)
ゲスト
結合: 22年前
投稿: 20
Topic starter  

>一度マルチの方でビルドしなおしてみる価値はありませんかね?
行ってみましたが同じ結果です。
私の上記の手順は大丈夫ですか?
sugarさんと違うところはありましたか?
よろしければ教えてください。


返信引用
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

私の場合は、libjpeg.libは既に持ってたので、今回新たにビルドはしてません。
このビルドの際にせんべえさんが参考にしたというサイトですが、
ファイル拡張子を *.c から *.cpp に変更してますね。
私がlibjpeg.libを作った時は、*.c のままです。
このあたり、関係してくるのかな?

imgsaveはC++ではなくCのプログラムなので、もしかしたら…?


返信引用
せんべえ
 せんべえ
(@せんべえ)
ゲスト
結合: 22年前
投稿: 20
Topic starter  

>imgsaveはC++ではなくCのプログラムなので、もしかしたら…?
sugarさん何度も有難うございます。
物凄い参考になりました。
再度ライブラリを作ってみることにします。


返信引用
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 22年前
投稿: 830
 

提示の Web Page のコンパイル手順はずいぶん乱暴ですね。
IJG のコードを可能な限り尊重すべきだと思います。

MFC 配下で使うのであればマルチスレッドが必須なので
・jmorecfg.h の RGB->BRG 順の変更
・makefile.vc の CFLAG= 行に -MT を追加
の2点だけに絞るべきです。他の変更は不要。
んでコマンドプロンプトから nmake -f makefile.vc でライブラリ作成。

んで、自作コードのほうは
extern C {
#include jpeglib.h
}
とすべきでしょう。


返信引用
せんべえ
 せんべえ
(@せんべえ)
ゲスト
結合: 22年前
投稿: 20
Topic starter  

返信有難うございました。
現在も解決しないままです。
私も原因が作成したライブラリのような気がします。
そこで、tetrapod さんのアドバイスも参考にさせていただきたいのですが
自作コードのところが良く分かりません。
もしよろしければご教授ください。


返信引用
せんべえ
 せんべえ
(@せんべえ)
ゲスト
結合: 22年前
投稿: 20
Topic starter  

1.jmorecfg.h の RGB->BRG 順の変更⇒ここはいまいちよく分からず
上記のページの変更のままです。
これはどういった意味でしょうか?
2.CFLAGS= $(cflags) $(cdebug) $(cvars) -I-MT. で変更を行いました。

以上を変更してDOSでコマンドを打ち込みましたが以下のような結果になりました。
'nmake' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
make -f makefile.vc
makefile.vc:12: *** missing separator. Stop.


返信引用
固定ページ 2 / 3

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました