トップページ > 過去ログ > 記事閲覧
なぜかコンパイルができません
名前:みけCAT 日時: 2011/11/20 21:23

Dev-C++4.9.9.2、gcc version 3.4.2 (mingw-special)です。 DXライブラリVer 3.06cです。 環境変数などをいじっていて、 そのあとDXライブラリを使ったプログラムをコンパイルしようとしましたが、 エラーが出てしまいました。 [Linker error] undefined reference to `png_set_longjmp_fn' [Linker error] undefined reference to `png_set_longjmp_fn' プログラムはこれです。 #include "DxLib.h" char Key[256]; int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //初期化処理 SetDrawScreen( DX_SCREEN_BACK ); //裏画面に設定 while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){ //↑メッセージ処理 ↑画面をクリア ↑キーボード入力状態取得 ↑ESCが押されていない //ココに処理を書いていく ScreenFlip();//裏画面を表画面に反映 } DxLib_End(); return 0; } Dev-C++とプロジェクトの設定は書いてある通りにしたはずです。 わかりにくい質問ですみませんが、解決法をお教えていただければ幸いです。 よろしくお願いします。

Page: 1 |

Re: なぜかコンパイルができません ( No.1 )
名前:管理人 日時:2011/11/27 21:13

リンクエラーが発生してしまうプロジェクトを拝見できれば恐らく原因が分かると思います よろしければ BQE00322( あっとまーく )nifty.com に送っていただけないでしょうか? あと、Dev-C++ のトラップとして「4.DXライブラリを使用するためのプロジェクトの設定を行う」の C『Linker』の項目に以下の9行を入力します。 -lDxLib -lDxUseCLib -ljpeg -lpng -lzlib -ltheora_static -lvorbis_static -lvorbisfile_static -logg_static -lbulletdynamics -lbulletcollision -lbulletmath の、上記の行の順番を間違えると正常にビルドができないというものがある( 例えば -logg_static を -lvorbis_static より上の行に記述するとビルドがエラー終了する )のですが、その点は問題ないでしょうか?
Re: なぜかコンパイルができません ( No.2 )
名前:みけCAT 日時:2011/12/13 16:42

この文章を書き込もうとしましたが、なぜか禁止ワードにひっかかりました。 h_tp://codepad.org/wxwjgZKk
Re: なぜかコンパイルができません ( No.3 )
名前:管理人 日時:2011/12/18 17:05

プロジェクトファイルをアップして頂きありがとうございます 禁止ワードについては申し訳ありません、偶に禁止ワードが見当たらないのに禁止ワード判定に 引っかかってしまうことがあるようです m(_ _;m アップしていただいたプロジェクトですが、私の環境では普通にコンパイルが成功しました 最初のお書き込みに 「環境変数などをいじっていて」 とありますが、環境変数を弄る前まではコンパイルが成功していたのでしょうか? 恐らく原因はDXライブラリ付属の libpng.a 以外の png ライブラリのファイルが絡んでしまって、 リンクで失敗しているのだと思います コンパイルの際にインストールした Dev-C++ ファイル以外の GCC 系のファイルの影響を 受けないようにすると直るのではないかと思います
Re: なぜかコンパイルができません ( No.4 )
名前:みけCAT(解決) 日時:2011/12/19 08:16

GTKをインストールした影響のようでした。 コンパイラオプションのディレクトリ>ライブラリから C:\GTK\LIBを消したところ、正常にコンパイルできました。 すみませんでした。

Page: 1 |