OpenGLでpng画像の読み込みと表示

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
hot

OpenGLでpng画像の読み込みと表示

#1

投稿記事 by hot » 12年前

初めまして、質問させていただきます。

OpenGLで拡張子がpngの画像の読み込みから表示までを行いたいのですが、
サポートされていないということなので、以下のサイト

http://wiki.livedoor.jp/mikk_ni3_92/d/p ... 2%E8%C1%FC

で説明された通り「glpng」を使ってみようかと思いました。
これは昔のもので、再ビルドの必要があると書いてあります。

私の開発環境がVC++ Express 2010なのでサイトの通り再ビルドしたのですが、
プロパティ -> 構成プロパティ -> C/C++ -> デバック情報の形式で「無効」がなく、
サイトの通り設定できませんでした。

ですが、設定せずビルドは成功したので、生成された「glpng.lib」と「glpngd.lib」を
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib
に置きました。

そして、実際のプログラムで

pngInfo i ;
GLuint texture = pngBind ("test.png", PNG_NOMIPMAP, PNG_ALPHA, &i, GL_CLAMP, GL_NEAREST, GL_NEAREST) ;

という二行を足したところ

glpng.lib(pngerror.obj) : error LNK2001: 外部シンボル "__iob" は未解決です。

と、エラーが出てしまい実行できませんでした。
上の二行を除けば普通にエラーを起こさず実行できます。

解決法がご存知の方がいればご教授願います。
もしくは、他の方法でのOpenGLでpng画像の表示法があれば、お願いします。

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: OpenGLでpng画像の読み込みと表示

#2

投稿記事 by ISLe » 12年前

「外部シンボル "__iob" は未解決です。」で検索すると、CRTライブラリを『マルチスレッドDLL(/MD,/MDd)』から『マルチスレッド(/MT,/MTd)』に変更すれば良いとか書いてあるページがたくさんヒットしますけど。

メンテを考えたら、libpngを使って必要なフォーマットに変換して、glTexImage2Dに食わせるほうが楽かもしれません。

ぬっち
記事: 105
登録日時: 13年前
連絡を取る:

Re: OpenGLでpng画像の読み込みと表示

#3

投稿記事 by ぬっち » 12年前

先日、OpenGLでpngの読み込みを行いました。
glpngなんてものがあったんですね!
知らなかったです。

私はISLeさんが仰っているように、pngの読み込みにlibpngを使いましたが、同じようなエラーに悩みました。
.libファイルを作成する時のコンパイルオプションと、.libファイルを使用するプログラムのコンパイルオプションが違っていたためです。
そのため、コンパイルオプション(特にCRT関連のもの)に注意してみると良いかもしれませんね。

閉鎖

“C言語何でも質問掲示板” へ戻る