ページ 11

龍神録の2番「まずは実行してみようについて」

Posted: 2010年10月19日(火) 20:03
by はくちゃんSRT
こんばんは。
こちらの掲示板を初めて利用させていただく「はくちゃんSRT」と申します。
はじめまして。

早速ですが、龍神録に2番の「まずは実行してみよう」についてですが、その通りにソースをコピーしmain.cppにペーストしたのですが、以下のようなメッセージが出てビルドエラーになります。

1>------ ビルド開始: プロジェクト: RyuJin, 構成: Debug Win32 ------
1>2010/10/19 19:54:51 にビルドを開始しました。
1>InitializeBuildStatus:
1> "Debug\RyuJin.unsuccessfulbuild" のタッチ タスクを実行しています。
1>ClCompile:
1> すべての出力が最新のものです。
1>ManifestResourceCompile:
1> すべての出力が最新のものです。
1>main.obj : error LNK2019: 未解決の外部シンボル "int __cdecl DxLib::ClearDrawScreen(void)" (?ClearDrawScreen@DxLib@@YAHXZ) が関数 _WinMain@16 で参照されました。
1>DxLib_d.lib(DxGraphics2.obj) : error LNK2019: 未解決の外部シンボル "void __cdecl DxLib::DrawMemImg(struct DxLib::tagMEMIMG *,struct DxLib::tagMEMIMG *,int,int,int,struct DxLib::tagMEMIMG *)" (?DrawMemImg@DxLib@@YAXPAUtagMEMIMG@1@0HHH0@Z) が関数 "int __cdecl DxLib::DrawGraphSoftware(int,int,struct DxLib::tagIMAGEDATA2 *,int)" (?DrawGraphSoftware@DxLib@@YAHHHPAUtagIMAGEDATA2@1@H@Z) で参照されました。
1>DxLib_d.lib(DxFont.obj) : error LNK2001: 外部シンボル ""void __cdecl DxLib::DrawMemImg(struct DxLib::tagMEMIMG *,struct DxLib::tagMEMIMG *,int,int,int,struct DxLib::tagMEMIMG *)" (?DrawMemImg@DxLib@@YAXPAUtagMEMIMG@1@0HHH0@Z)" は未解決です。
1>DxLib_d.lib(DxGraphics2.obj) : error LNK2019: 未解決の外部シンボル "void __cdecl DxLib::DrawEnlargeMemImg(struct DxLib::tagMEMIMG *,struct DxLib::tagMEMIMG *,struct tagRECT *,int,struct DxLib::tagMEMIMG *)" (?DrawEnlargeMemImg@DxLib@@YAXPAUtagMEMIMG@1@0PAUtagRECT@@H0@Z) が関数 "int __cdecl DxLib::DrawExtendGraphSoftware(int,int,int,int,struct DxLib::tagIMAGEDATA2 *,int)" (?DrawExtendGraphSoftware@DxLib@@YAHHHHHPAUtagIMAGEDATA2@1@H@Z) で参照されました。
1>DxLib_d.lib(DxFont.obj) : error LNK2001: 外部シンボル ""void __cdecl DxLib::DrawEnlargeMemImg(struct DxLib::tagMEMIMG *,struct DxLib::tagMEMIMG *,struct tagRECT *,int,struct DxLib::tagMEMIMG *)" (?DrawEnlargeMemImg@DxLib@@YAXPAUtagMEMIMG@1@0PAUtagRECT@@H0@Z)" は未解決です。
1>DxLib_d.lib(DxGraphics2.obj) : error LNK2019: 未解決の外部シンボル "void __cdecl DxLib::DrawRotationMemImg(struct DxLib::tagMEMIMG *,struct DxLib::tagMEMIMG *,int,int,float,float,int,int,struct DxLib::tagMEMIMG *)" (?DrawRotationMemImg@DxLib@@YAXPAUtagMEMIMG@1@0HHMMHH0@Z) が関数 "int __cdecl DxLib::DrawRotaGraphSoftware(float,float,double,double,struct DxLib::tagIMAGEDATA2 *,int,int)" (?DrawRotaGraphSoftware@DxLib@@YAHMMNNPAUtagIMAGEDATA2@1@HH@Z) で参照されました。
1>DxLib_d.lib(DxGraphics2.obj) : error LNK2019: 未解決の外部シンボル "void __cdecl DxLib::DrawBasicPolygonMemImg(struct DxLib::tagMEMIMG *,struct DxLib::tagMEMIMG *,struct DxLib::tagDX_POINTDATA *,int,struct DxLib::tagMEMIMG *,int)" (?DrawBasicPolygonMemImg@DxLib@@YAXPAUtagMEMIMG@1@0PAUtagDX_POINTDATA@1@H0H@Z) が関数 "int __cdecl DxLib::DrawPolySoftware(struct DxLib::tagDX_POINTDATA *,struct DxLib::tagIMAGEDATA2 *,int,int)" (?DrawPolySoftware@DxLib@@YAHPAUtagDX_POINTDATA@1@PAUtagIMAGEDATA2@1@HH@Z) で参照されました。
1>DxLib_d.lib(DxGraphics2.obj) : error LNK2019: 未解決の外部シンボル "void __cdecl DxLib::DrawFillBoxMemImg(struct DxLib::tagMEMIMG *,struct tagRECT *,int)" (?DrawFillBoxMemImg@DxLib@@YAXPAUtagMEMIMG@1@PAUtagRECT@@H@Z) が関数 "int __cdecl DxLib::DrawFillBoxSoftware(int,int,int,int,int)" (?DrawFillBoxSoftware@DxLib@@YAHHHHHH@Z) で参照されました。 画像

Re:龍神録の2番「まずは実行してみようについて」

Posted: 2010年10月19日(火) 20:03
by はくちゃんSRT
続き


1>DxLib_d.lib(DxGraphics2.obj) : error LNK2019: 未解決の外部シンボル "void __cdecl DxLib::DrawLineMemImg(struct DxLib::tagMEMIMG *,int,int,int,int,int)" (?DrawLineMemImg@DxLib@@YAXPAUtagMEMIMG@1@HHHHH@Z) が関数 "int __cdecl DxLib::DrawLineSoftware(int,int,int,int,int)" (?DrawLineSoftware@DxLib@@YAHHHHHH@Z) で参照されました。
1>DxLib_d.lib(DxGraphics2.obj) : error LNK2019: 未解決の外部シンボル "void __cdecl DxLib::DrawCircleMemImg(struct DxLib::tagMEMIMG *,int,int,int,int,int)" (?DrawCircleMemImg@DxLib@@YAXPAUtagMEMIMG@1@HHHHH@Z) が関数 "int __cdecl DxLib::DrawCircleSoftware(int,int,int,int,int)" (?DrawCircleSoftware@DxLib@@YAHHHHHH@Z) で参照されました。
1>DxLib_d.lib(DxGraphics2.obj) : error LNK2019: 未解決の外部シンボル "void __cdecl DxLib::DrawOvalMemImg(struct DxLib::tagMEMIMG *,int,int,int,int,int,int)" (?DrawOvalMemImg@DxLib@@YAXPAUtagMEMIMG@1@HHHHHH@Z) が関数 "int __cdecl DxLib::DrawOvalSoftware(int,int,int,int,int,int)" (?DrawOvalSoftware@DxLib@@YAHHHHHHH@Z) で参照されました。
1>DxLib_d.lib(DxGraphics2.obj) : error LNK2019: 未解決の外部シンボル "void __cdecl DxLib::DrawPixelMemImg(struct DxLib::tagMEMIMG *,int,int,int)" (?DrawPixelMemImg@DxLib@@YAXPAUtagMEMIMG@1@HHH@Z) が関数 "int __cdecl DxLib::DrawPixelSoftware(int,int,int)" (?DrawPixelSoftware@DxLib@@YAHHHH@Z) で参照されました。
1>DxLib_d.lib(DxGraphics2.obj) : error LNK2019: 未解決の外部シンボル "void __cdecl DxLib::DrawPixelSetMemImg(struct DxLib::tagMEMIMG *,struct DxLib::tagPOINTDATA *,int)" (?DrawPixelSetMemImg@DxLib@@YAXPAUtagMEMIMG@1@PAUtagPOINTDATA@1@H@Z) が関数 "int __cdecl DxLib::DrawPixelSetSoftware(struct DxLib::tagPOINTDATA *,int)" (?DrawPixelSetSoftware@DxLib@@YAHPAUtagPOINTDATA@1@H@Z) で参照されました。
1>DxLib_d.lib(DxGraphics2.obj) : error LNK2019: 未解決の外部シンボル "void __cdecl DxLib::DrawLineSetMemImg(struct DxLib::tagMEMIMG *,struct DxLib::tagLINEDATA *,int)" (?DrawLineSetMemImg@DxLib@@YAXPAUtagMEMIMG@1@PAUtagLINEDATA@1@H@Z) が関数 "int __cdecl DxLib::DrawLineSetSoftware(struct DxLib::tagLINEDATA *,int)" (?DrawLineSetSoftware@DxLib@@YAHPAUtagLINEDATA@1@H@Z) で参照されました。
1>DxLib_d.lib(DxGraphics2.obj) : error LNK2019: 未解決の外部シンボル "void __cdecl DxLib::PaintMemImg(struct DxLib::tagMEMIMG *,int,int,int,int)" (?PaintMemImg@DxLib@@YAXPAUtagMEMIMG@1@HHHH@Z) が関数 "int __cdecl DxLib::Paint(int,int,int,int)" (?Paint@DxLib@@YAHHHHH@Z) で参照されました。
1>1章\Debug\RyuJin.exe : fatal error LNK1120: 外部参照 13 が未解決です。
1>
1>ビルドに失敗しました。
1>
1>経過時間 00:00:02.73
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

環境はWin7のVS2010です。
初心者であるため、上のようなメッセージの内容をあまり理解できず、苦戦しております。
よろしくお願いします。

Re:龍神録の2番「まずは実行してみようについて」

Posted: 2010年10月19日(火) 20:08
by MNS
こんばんわ。

DXライブラリの設定は行いましたか?
http://homepage2.nifty.com/natupaji/DxL ... press.html

特に、(以下引用)
4.DXライブラリを使用するためのプロジェクトの設定を行う

 早速プログラムを組みたいところですが、最初のプログラムファイルを追加した後はDXライブラリを使用するプログラムのコンパイルに必要なプロジェクトの設定を行います。
 ちょっと操作の数が多くてうんざりしますが、ソフト1つにつき一回だけですので、根気よく手順を追ってください。

  ① VisualC++ 2010 Express Edition のメニューの
      『プロジェクト』→『(プロジェクト名) プロパティ』を選びます。
    ((プロジェクト名)の部分は、今回は『test』になっている筈です)

  ② 次にダイアログの左側のリストから『構成プロパティ』→『全般』を選びます。

  ③ 次にダイアログの左上にある『構成(C)』と
     書かれている項目を『アクティブ(Debug)』から『すべての構成』に変更します。

  ④ 次にダイアログ右側に表示されている『文字セット』の項目を
     『マルチ バイト文字セットを使用する』に変更したあと、ダイアログ右下にある『適用』ボタンを押します。

  ⑤ 次に左側のリストから『構成プロパティ』→『C/C++』→『全般』を選びます。

  ⑥ 『追加のインクルードディレクトリ』の項目にDXライブラリのパッケージ内に入っている
        『プロジェクトに追加すべきファイル_VC用』フォルダのパスを入力してから、
         再度ダイアログ右下にある『適用』ボタンを押します。
    ( パスの例→  c:\DxLib_VC\プロジェクトに追加すべきファイル_VC用
      なお、DXライブラリをマイドキュメントフォルダに入れるとこれらのパス指定が面倒になりますので
      DXライブラリはなるべく浅いフォルダに入れておくことをお勧めします )

  ⑦ 次に左側のリストから『構成プロパティ』→『リンカー』→『全般』を選びます。

  ⑧ 『追加のライブラリディレクトリ』の項目に⑥と全く同じDXライブラリのパッケージ内に入っている
        『プロジェクトに追加すべきファイル_VC用』フォルダのパスを入力してから、
         再度ダイアログ右下にある『適用』ボタンを押します。

  ⑨ 次にダイアログの左上にある『構成(C)』と書かれている項目を『すべての構成』から
     『Release』に変更します。

  ⑩ 左側のリストから今度は『構成プロパティ』→『C/C++』→『コード生成』を選びます。

  ⑪ ダイアログ右側に表示されている『ランタイム ライブラリ』の項目を
     『マルチスレッド(/MT)』に変更したあと、ダイアログ右下にある『適用』ボタンを押します。

  ⑫ ダイアログの左上にある『構成(C)』と書かれている項目を『Release』から
     『Debug』に変更します。

  ⑬ ダイアログ右側に表示されている『ランタイム ライブラリ』の項目を
     今度は『マルチスレッド デバッグ(/MTd)』に変更します。

  ⑭ 最後にダイアログの下の方にある『OK』を押してダイアログを閉じます。

を行っていない時に発生するエラーと見受けられます。

Re:龍神録の2番「まずは実行してみようについて」

Posted: 2010年10月19日(火) 21:34
by はくちゃんSRT
MNS様。

C言語誰でも交流サイトのほうでお世話になっております。

DXライブラリの設定ですが、自分も最初に確認してみたのですが、設定がすでにできていたためにヒントがなく困っておりました。

何度確認しても設定に間違いは見られず、しかしエラーの文は変わらない状況です。

1>C:\*****\*****\Documents\project\project\1章\Debug\RyuJin.exe : fatal error LNK1120: 外部参照 13 が未解決です。

Re:龍神録の2番「まずは実行してみようについて」

Posted: 2010年10月19日(火) 21:52
by はくちゃんSRT
解決しました。

GV.hの頭を
../../../include/Dxlib.h → DxLib.h
という風に変えたらできました。

ご協力いただいたMNS様、ありがとうございました。