ページ 11

ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月12日(金) 15:21
by junjunjun
ゲームプログラマになる前に覚えておきたい技術の第2章のプロジェクト設定がわかりません。
設定してデバック開始を押してもコンパイルエラーになります。
これです。

1>------ ビルド開始: プロジェクト: drawPixels, 構成: Debug Win32 ------
1>GameLib_d.lib(OStringStream.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(Thread.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(DocumentImpl.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(Texture.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(Manager.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(Manager.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(InFile.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(Framework.obj) : error LNK2019: 未解決の外部シンボル "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ) が関数 "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)" (?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(Font.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(StringRenderer.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(OStringStream.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(Thread.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(DocumentImpl.obj) : error LNK2019: 未解決の外部シンボル "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ) が関数 __ehhandler$?_Buynode@?$_Tree@V?$_Tmap_traits@VRefString@GameLib@@HU?$less@VRefString@GameLib@@@std@@V?$allocator@U?$pair@$$CBVRefString@GameLib@@H@std@@@4@$0A@@std@@@std@@IAEPAU_Node@?$_Tree_nod@V?$_Tmap_traits@VRefString@GameLib@@HU?$less@VRefString@GameLib@@@std@@V?$allocator@U?$pair@$$CBVRefString@GameLib@@H@std@@@4@$0A@@std@@@2@XZ で参照されました。
1>GameLib_d.lib(Texture.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(Manager.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(Manager.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(InFile.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(Framework.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(Font.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(StringRenderer.obj) : error LNK2001: 外部シンボル ""public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)" は未解決です。
1>GameLib_d.lib(Halt.obj) : error LNK2019: 未解決の外部シンボル __imp__MessageBoxA@16 が関数 "void __cdecl GameLib::halt(char const *,int,char const *)" (?halt@GameLib@@YAXPBDH0@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2001: 外部シンボル "__imp__MessageBoxA@16" は未解決です。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__SetWindowPos@28 が関数 "public: void __thiscall GameLib::`anonymous namespace'::Impl::enableFullScreen(bool)" (?enableFullScreen@Impl@?A0x1cd4626c@GameLib@@QAEX_N@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__SetWindowLongA@12 が関数 "public: void __thiscall GameLib::`anonymous namespace'::Impl::enableFullScreen(bool)" (?enableFullScreen@Impl@?A0x1cd4626c@GameLib@@QAEX_N@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__GetWindowRect@8 が関数 "public: void __thiscall GameLib::`anonymous namespace'::Impl::enableFullScreen(bool)" (?enableFullScreen@Impl@?A0x1cd4626c@GameLib@@QAEX_N@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__DestroyWindow@4 が関数 __catch$_WinMain@16$0 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__DispatchMessageA@4 が関数 __catch$_WinMain@16$0 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__TranslateMessage@4 が関数 __catch$_WinMain@16$0 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__TranslateAcceleratorA@12 が関数 __catch$_WinMain@16$0 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__GetMessageA@16 が関数 __catch$_WinMain@16$0 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__PeekMessageA@20 が関数 __catch$_WinMain@16$0 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__DragAcceptFiles@8 が関数 __catch$_WinMain@16$0 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__LoadAcceleratorsA@8 が関数 _WinMain@16 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__AdjustWindowRect@12 が関数 "int __cdecl InitInstance(struct HINSTANCE__ *,int)" (?InitInstance@@YAHPAUHINSTANCE__@@H@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__RegisterClassExA@4 が関数 "unsigned short __cdecl MyRegisterClass(struct HINSTANCE__ *)" (?MyRegisterClass@@YAGPAUHINSTANCE__@@@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__LoadCursorA@8 が関数 "unsigned short __cdecl MyRegisterClass(struct HINSTANCE__ *)" (?MyRegisterClass@@YAGPAUHINSTANCE__@@@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__LoadIconA@8 が関数 "unsigned short __cdecl MyRegisterClass(struct HINSTANCE__ *)" (?MyRegisterClass@@YAGPAUHINSTANCE__@@@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__UpdateWindow@4 が関数 "int __cdecl InitInstance(struct HINSTANCE__ *,int)" (?InitInstance@@YAHPAUHINSTANCE__@@H@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__ShowWindow@8 が関数 "int __cdecl InitInstance(struct HINSTANCE__ *,int)" (?InitInstance@@YAHPAUHINSTANCE__@@H@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__CreateWindowExA@48 が関数 "int __cdecl InitInstance(struct HINSTANCE__ *,int)" (?InitInstance@@YAHPAUHINSTANCE__@@H@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__DragQueryFileA@16 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__DefWindowProcA@16 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__PostQuitMessage@4 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。
1>GameLib_d.lib(Font.obj) : error LNK2019: 未解決の外部シンボル __imp__GetTextMetricsW@8 が関数 "public: __thiscall GameLib::Scene::`anonymous namespace'::FontImplOS::FontImplOS(char const *,int,bool,bool,bool,bool,int,int)" (??0FontImplOS@?A0xca39bf44@Scene@GameLib@@QAE@PBDH_N111HH@Z) で参照されました。
1>GameLib_d.lib(Font.obj) : error LNK2019: 未解決の外部シンボル __imp__SelectObject@8 が関数 "public: __thiscall GameLib::Scene::`anonymous namespace'::FontImplOS::FontImplOS(char const *,int,bool,bool,bool,bool,int,int)" (??0FontImplOS@?A0xca39bf44@Scene@GameLib@@QAE@PBDH_N111HH@Z) で参照されました。
1>GameLib_d.lib(Font.obj) : error LNK2019: 未解決の外部シンボル __imp__CreateCompatibleDC@4 が関数 "public: __thiscall GameLib::Scene::`anonymous namespace'::FontImplOS::FontImplOS(char const *,int,bool,bool,bool,bool,int,int)" (??0FontImplOS@?A0xca39bf44@Scene@GameLib@@QAE@PBDH_N111HH@Z) で参照されました。
1>GameLib_d.lib(Font.obj) : error LNK2019: 未解決の外部シンボル __imp__CreateFontA@56 が関数 "public: __thiscall GameLib::Scene::`anonymous namespace'::FontImplOS::FontImplOS(char const *,int,bool,bool,bool,bool,int,int)" (??0FontImplOS@?A0xca39bf44@Scene@GameLib@@QAE@PBDH_N111HH@Z) で参照されました。
1>GameLib_d.lib(Font.obj) : error LNK2019: 未解決の外部シンボル __imp__GetGlyphOutlineA@28 が関数 "public: struct GameLib::Scene::A0xca39bf44::FontImplOS::Char const * __thiscall GameLib::Scene::`anonymous namespace'::FontImplOS::createGlyph(int)" (?createGlyph@FontImplOS@?A0xca39bf44@Scene@GameLib@@QAEPBUChar@1234@H@Z) で参照されました。
1>GameLib_d.lib(Font.obj) : error LNK2019: 未解決の外部シンボル __imp__DeleteObject@4 が関数 "public: virtual __thiscall GameLib::Scene::`anonymous namespace'::FontImplOS::~FontImplOS(void)" (??1FontImplOS@?A0xca39bf44@Scene@GameLib@@UAE@XZ) で参照されました。
1>GameLib_d.lib(Font.obj) : error LNK2019: 未解決の外部シンボル __imp__DeleteDC@4 が関数 "public: virtual __thiscall GameLib::Scene::`anonymous namespace'::FontImplOS::~FontImplOS(void)" (??1FontImplOS@?A0xca39bf44@Scene@GameLib@@UAE@XZ) で参照されました。
1>GameLib_d.lib(Manager.obj) : error LNK2001: 外部シンボル ""long const std::_BADOFF" (?_BADOFF@std@@3JB)" は未解決です。
1>GameLib_d.lib(Manager.obj) : error LNK2019: 未解決の外部シンボル "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z) が関数 "class std::ctype<char> const & __cdecl std::use_facet<class std::ctype<char> >(class std::locale const &)" (??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z) で参照されました。
1>GameLib_d.lib(Manager.obj) : error LNK2019: 未解決の外部シンボル "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z) が関数 "public: __thiscall std::_Locinfo::_Locinfo(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0_Locinfo@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z) で参照されました。
1>GameLib_d.lib(Manager.obj) : error LNK2019: 未解決の外部シンボル __imp__GetAsyncKeyState@4 が関数 "public: void __thiscall GameLib::Input::ManagerImpl::update(float,class GameLib::Math::Vector2 const &)" (?update@ManagerImpl@Input@GameLib@@QAEXMABVVector2@Math@3@@Z) で参照されました。
1>GameLib_d.lib(Manager.obj) : error LNK2019: 未解決の外部シンボル __imp__GetKeyboardState@4 が関数 "public: void __thiscall GameLib::Input::ManagerImpl::update(float,class GameLib::Math::Vector2 const &)" (?update@ManagerImpl@Input@GameLib@@QAEXMABVVector2@Math@3@@Z) で参照されました。
1>GameLib_d.lib(Manager.obj) : error LNK2019: 未解決の外部シンボル __imp__ScreenToClient@8 が関数 "public: void __thiscall GameLib::Input::ManagerImpl::update(float,class GameLib::Math::Vector2 const &)" (?update@ManagerImpl@Input@GameLib@@QAEXMABVVector2@Math@3@@Z) で参照されました。
1>GameLib_d.lib(Manager.obj) : error LNK2019: 未解決の外部シンボル __imp__GetCursorPos@4 が関数 "public: void __thiscall GameLib::Input::ManagerImpl::update(float,class GameLib::Math::Vector2 const &)" (?update@ManagerImpl@Input@GameLib@@QAEXMABVVector2@Math@3@@Z) で参照されました。
1>D:\消すな!惇\ゲームプログラマになる前に覚えておきたい技術\GameLib2008\GameLib2008\src\02_2DGraphics1\Debug\drawPixels.exe : fatal error LNK1120: 外部参照 38 が未解決です。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

どなたか、わかりやすくプロジェクト設定を1から教えて頂けないでしょうか?

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月12日(金) 18:56
by Dixq (管理人)
ゲームプログラマになる前に覚えておきたい技術 とは、書籍ですか?

手元に本もありませんし、コードも無しに聞くのは無理が無いですか?

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月12日(金) 20:10
by junjunjun
書籍です。
コードは、

コード:

#include "GameLib/Framework.h"

namespace GameLib{
	void Framework::update(){
		unsigned* vram = videoMemory();
		static unsigned i;
		vram[ i ] += i * 100;
		i += 9973; //1万以下最大の素数
		i %= ( width() * height() );
	}
}
です。
適当に点を打つサンプルです。
できれば、「ゲームプログラマになる前に覚えておきたい技術」を一度でもした人にお答え頂ければ幸いです。

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月12日(金) 20:49
by softya(ソフト屋)
2008版のライブラリを使っているようですが、コンパイラもVC++2008ですか?
※ 私も「ゲームプログラマになる前に覚えておきたい技術」は未経験ですが、ちゃんと情報を頂ければ推測できることもあります。

「ゲームプログラマになる前に覚えておきたい技術|サポート|秀和システム」
http://www.shuwasystem.co.jp/support/7980html/2118.html

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月12日(金) 20:59
by junjunjun
コンパイラはVC++2010です。

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月12日(金) 21:00
by softya(ソフト屋)
junjunjun さんが書きました:コンパイラはVC++2010です。
であれば紹介したサイトの2010用の物を使ってください。
バージョンがずれてエラーを起こしている可能性があります。

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月12日(金) 21:26
by junjunjun
2010版でコンパイルしたところ、

1>------ ビルド開始: プロジェクト: drawPixels, 構成: Debug Win32 ------
1> main.cpp
1>d:\消すな!惇\ゲームプログラマになる前に覚えておきたい技術\gamelib2010\gamelib2010\src\02_2dgraphics1\drawpixels\main.cpp(1): fatal error C1083: include ファイルを開けません。'GameLib/Framework.h': No such file or directory
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

と出ます。
何がいけないのでしょうか?

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月12日(金) 21:57
by softya(ソフト屋)
ダウンロードした圧縮ファイル中にあった2DGraphics1.slnから起動されていますか?

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月12日(金) 22:00
by junjunjun
はい。

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月12日(金) 22:04
by softya(ソフト屋)
junjunjun さんが書きました:はい。
圧縮ファイルは展開されていますよね?

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月12日(金) 22:12
by junjunjun
はい。展開しました。

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月12日(金) 22:18
by softya(ソフト屋)
GAME_LIB_DIRがちゃんと設定されていないか、場所が間違っている可能性がありますね。
書籍を読みなおして、2010版としてちゃんと出来ているか確認しなおしてください。
2008版でやった事は全部やり直す必要が有ると思います。

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月12日(金) 22:39
by junjunjun
>GAME_LIB_DIRがちゃんと設定されていないか、場所が間違っている可能性がありますね。
場所が間違っているなら、正しい場所は何なのでしょうか?

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月12日(金) 22:52
by softya(ソフト屋)
junjunjun さんが書きました:>GAME_LIB_DIRがちゃんと設定されていないか、場所が間違っている可能性がありますね。
場所が間違っているなら、正しい場所は何なのでしょうか?
さすがに本がないの答えられないんで、こちらでやってみてください。
「新 「ゲームプログラマになる前に覚えておきたい技術」 VS2010対応|No:368|すらりん日記 | すらりん日記」
http://watery.dip.jp/slash/archives/368

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月13日(土) 11:19
by junjunjun
softya(ソフト屋)さんが紹介してくれた方法でもなりませんでした。
結果は、

1>------ ビルド開始: プロジェクト: drawPixels, 構成: Debug Win32 ------
1> main.cpp
1>d:\消すな!惇\ゲームプログラマになる前に覚えておきたい技術\gamelib2010\gamelib2010\src\02_2dgraphics1\drawpixels\main.cpp(1): fatal error C1083: include ファイルを開けません。'GameLib/Framework.h': No such file or directory
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

となります。
どなたか、方法を教えていただけないでしょうか?2010版で設定しています。
環境変数がいけないでしょうか?設定がいけないのでしょうか?

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月13日(土) 16:40
by ISLe
書籍には環境変数GAME_LIB_DIRの設定について書かれていないのでしょうか。
zipをダウンロードして展開したのであれば、自前で環境変数GAME_LIB_DIRを設定しなければいけないはずです。

環境変数GAME_LIB_DIRにはGameLib2010.zipを展開したGameLib2010フォルダのパスを設定します。
環境変数を設定したあと反映させるために、ログオン(あるいは再起動)し直す必要があるかもしれません。

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月13日(土) 17:51
by junjunjun
変数名、GAME_LIB_DIR
変数値、D:\GameLib2010
と、環境変数を設定しても出来ません。
何がいけないのでしょうか?

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月13日(土) 18:04
by ISLe
既に書いたことはやっているものとして…
あとは、D:\GameLib2010の下にGameLib2010フォルダがあったりとかですかね。
ソフトによってはファイル名でフォルダを作ってその下に展開するので。

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月13日(土) 18:10
by junjunjun
D:\GameLib2010の次は本体(中身)です。

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月13日(土) 18:25
by junjunjun
やった結果、

1>------ ビルド開始: プロジェクト: drawPixels, 構成: Debug Win32 ------
1> main.cpp
1>GameLib_d.lib(Framework.obj) : error LNK2019: 未解決の外部シンボル __imp__GetAsyncKeyState@4 が関数 "public: class GameLib::StandardInput & __thiscall GameLib::StandardInput::operator>>(char &)" (??5StandardInput@GameLib@@QAEAAV01@AAD@Z) で参照されました。
1>GameLib_d.lib(InputManaegr.obj) : error LNK2001: 外部シンボル "__imp__GetAsyncKeyState@4" は未解決です。
1>GameLib_d.lib(Halt.obj) : error LNK2019: 未解決の外部シンボル __imp__MessageBoxA@16 が関数 "void __cdecl GameLib::halt(char const *,int,char const *)" (?halt@GameLib@@YAXPBDH0@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2001: 外部シンボル "__imp__MessageBoxA@16" は未解決です。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__SetWindowPos@28 が関数 "public: void __thiscall GameLib::`anonymous namespace'::Impl::enableFullScreen(bool)" (?enableFullScreen@Impl@?A0x0807eba7@GameLib@@QAEX_N@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__SetWindowLongA@12 が関数 "public: void __thiscall GameLib::`anonymous namespace'::Impl::enableFullScreen(bool)" (?enableFullScreen@Impl@?A0x0807eba7@GameLib@@QAEX_N@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__GetWindowRect@8 が関数 "public: void __thiscall GameLib::`anonymous namespace'::Impl::enableFullScreen(bool)" (?enableFullScreen@Impl@?A0x0807eba7@GameLib@@QAEX_N@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__CoUninitialize@0 が関数 __catch$_WinMain@16$0 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__DestroyWindow@4 が関数 __catch$_WinMain@16$0 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__DispatchMessageA@4 が関数 __catch$_WinMain@16$0 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__TranslateMessage@4 が関数 __catch$_WinMain@16$0 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__TranslateAcceleratorA@12 が関数 __catch$_WinMain@16$0 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__GetMessageA@16 が関数 __catch$_WinMain@16$0 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__PeekMessageA@20 が関数 __catch$_WinMain@16$0 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__DragAcceptFiles@8 が関数 __catch$_WinMain@16$0 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__LoadAcceleratorsA@8 が関数 _WinMain@16 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__CoInitializeEx@8 が関数 _WinMain@16 で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__AdjustWindowRect@12 が関数 "public: void __thiscall GameLib::`anonymous namespace'::Impl::createDefaultWindowPos(void)" (?createDefaultWindowPos@Impl@?A0x0807eba7@GameLib@@QAEXXZ) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__RegisterClassExA@4 が関数 "unsigned short __cdecl MyRegisterClass(struct HINSTANCE__ *)" (?MyRegisterClass@@YAGPAUHINSTANCE__@@@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__LoadCursorA@8 が関数 "unsigned short __cdecl MyRegisterClass(struct HINSTANCE__ *)" (?MyRegisterClass@@YAGPAUHINSTANCE__@@@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__LoadIconA@8 が関数 "unsigned short __cdecl MyRegisterClass(struct HINSTANCE__ *)" (?MyRegisterClass@@YAGPAUHINSTANCE__@@@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__UpdateWindow@4 が関数 "int __cdecl InitInstance(struct HINSTANCE__ *,int)" (?InitInstance@@YAHPAUHINSTANCE__@@H@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__ShowWindow@8 が関数 "int __cdecl InitInstance(struct HINSTANCE__ *,int)" (?InitInstance@@YAHPAUHINSTANCE__@@H@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__CreateWindowExA@48 が関数 "int __cdecl InitInstance(struct HINSTANCE__ *,int)" (?InitInstance@@YAHPAUHINSTANCE__@@H@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__DragQueryFileA@16 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__DefWindowProcA@16 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。
1>GameLib_d.lib(WindowCreator.obj) : error LNK2019: 未解決の外部シンボル __imp__PostQuitMessage@4 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。
1>GameLib_d.lib(Font.obj) : error LNK2019: 未解決の外部シンボル __imp__GetTextMetricsA@8 が関数 "public: __thiscall GameLib::Scene::`anonymous namespace'::FontImplOS::FontImplOS(char const *,int,bool,bool,bool,bool,int,int)" (??0FontImplOS@?A0x39b6acdb@Scene@GameLib@@QAE@PBDH_N111HH@Z) で参照されました。
1>GameLib_d.lib(Font.obj) : error LNK2019: 未解決の外部シンボル __imp__SelectObject@8 が関数 "public: __thiscall GameLib::Scene::`anonymous namespace'::FontImplOS::FontImplOS(char const *,int,bool,bool,bool,bool,int,int)" (??0FontImplOS@?A0x39b6acdb@Scene@GameLib@@QAE@PBDH_N111HH@Z) で参照されました。
1>GameLib_d.lib(Font.obj) : error LNK2019: 未解決の外部シンボル __imp__CreateCompatibleDC@4 が関数 "public: __thiscall GameLib::Scene::`anonymous namespace'::FontImplOS::FontImplOS(char const *,int,bool,bool,bool,bool,int,int)" (??0FontImplOS@?A0x39b6acdb@Scene@GameLib@@QAE@PBDH_N111HH@Z) で参照されました。
1>GameLib_d.lib(Font.obj) : error LNK2019: 未解決の外部シンボル __imp__CreateFontA@56 が関数 "public: __thiscall GameLib::Scene::`anonymous namespace'::FontImplOS::FontImplOS(char const *,int,bool,bool,bool,bool,int,int)" (??0FontImplOS@?A0x39b6acdb@Scene@GameLib@@QAE@PBDH_N111HH@Z) で参照されました。
1>GameLib_d.lib(Font.obj) : error LNK2019: 未解決の外部シンボル __imp__GetGlyphOutlineA@28 が関数 "public: struct GameLib::Scene::A0x39b6acdb::FontImplOS::Char const * __thiscall GameLib::Scene::`anonymous namespace'::FontImplOS::createGlyph(int)" (?createGlyph@FontImplOS@?A0x39b6acdb@Scene@GameLib@@QAEPBUChar@1234@H@Z) で参照されました。
1>GameLib_d.lib(Font.obj) : error LNK2019: 未解決の外部シンボル __imp__DeleteObject@4 が関数 "public: virtual __thiscall GameLib::Scene::`anonymous namespace'::FontImplOS::~FontImplOS(void)" (??1FontImplOS@?A0x39b6acdb@Scene@GameLib@@UAE@XZ) で参照されました。
1>GameLib_d.lib(Font.obj) : error LNK2019: 未解決の外部シンボル __imp__DeleteDC@4 が関数 "public: virtual __thiscall GameLib::Scene::`anonymous namespace'::FontImplOS::~FontImplOS(void)" (??1FontImplOS@?A0x39b6acdb@Scene@GameLib@@UAE@XZ) で参照されました。
1>GameLib_d.lib(InputManaegr.obj) : error LNK2019: 未解決の外部シンボル __imp__GetKeyboardState@4 が関数 "public: void __thiscall GameLib::Input::ManagerImpl::update(float,class GameLib::Math::Vector2 const &)" (?update@ManagerImpl@Input@GameLib@@QAEXMABVVector2@Math@3@@Z) で参照されました。
1>GameLib_d.lib(InputManaegr.obj) : error LNK2019: 未解決の外部シンボル __imp__ScreenToClient@8 が関数 "public: void __thiscall GameLib::Input::ManagerImpl::update(float,class GameLib::Math::Vector2 const &)" (?update@ManagerImpl@Input@GameLib@@QAEXMABVVector2@Math@3@@Z) で参照されました。
1>GameLib_d.lib(InputManaegr.obj) : error LNK2019: 未解決の外部シンボル __imp__GetCursorPos@4 が関数 "public: void __thiscall GameLib::Input::ManagerImpl::update(float,class GameLib::Math::Vector2 const &)" (?update@ManagerImpl@Input@GameLib@@QAEXMABVVector2@Math@3@@Z) で参照されました。
1>D:\消すな!惇\ゲームプログラマになる前に覚えておきたい技術\GameLib2010\GameLib2010\src\02_2DGraphics1\Debug\drawPixels.exe : fatal error LNK1120: 外部参照 35 が未解決です。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

と、コンパイルエラーになりました。
何が違うのでしょうか?

Re: ゲームプログラマになる前に覚えておきたい技術の第2章について

Posted: 2013年7月13日(土) 18:46
by junjunjun
なりました!
初期設定のときに、データは同じなんだけれども複数のファイルから呼んでいて、ファイルを統一したらなりました。
皆様ご回答ありがとうございました。
また、次の機会にお願いいたします。