ページ 11

本を買って、やってみたものの・・・

Posted: 2012年7月13日(金) 22:56
by 扇風機EX
件名どうり、本を買って打ってデバックしてみたものの出来ず、打ち間違えはないか調べてもないので困っています。
解決の手だすけよろしくお願いします。
DXライブラリ・VC++・Win

コード:

#include <DxLib.h>

int WINAPI WinMain(HINSTANCE h1, HINSTANCE hP, LPSTR lpC, int nC){
//ウィンドウモードへ
ChangeWindowMode(TRUE);
//DX初期化
if(DxLib_Init() == -1) return -1;
//ボックス描写
DrawBox(0, 0, 120, 120, 0x00FFF, TRUE);
//待ち
WaitKey();
//dxライブラリの終了
DxLib_End();
return 0;
}





1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: _exit は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __exit は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __cexit は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __amsg_exit は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __initterm_e は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(fflush.obj) : error LNK2005: _fflush は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(dbghook.obj) : error LNK2005: __crt_debugger_hook は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(invarg.obj) : error LNK2005: __invoke_watson は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(sprintf.obj) : error LNK2005: _sprintf は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xi_a は既に MSVCRTD.lib(cinitexe.obj) で定義されています。
1>LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xi_z は既に MSVCRTD.lib(cinitexe.obj) で定義されています。
1>LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xc_a は既に MSVCRTD.lib(cinitexe.obj) で定義されています。
1>LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xc_z は既に MSVCRTD.lib(cinitexe.obj) で定義されています。
1>LIBCMTD.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(dosmap.obj) : error LNK2005: __errno は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(_trnsctrl_.obj) : error LNK2005: ___CxxFrameHandler は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(mlock.obj) : error LNK2005: __lock は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(mlock.obj) : error LNK2005: __unlock は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(winxfltr.obj) : error LNK2005: __XcptFilter は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(vsprintf.obj) : error LNK2005: _vsprintf は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(setlocal.obj) : error LNK2005: __configthreadlocale は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(errmode.obj) : error LNK2005: ___set_app_type は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(dbgrptw.obj) : error LNK2005: __CrtDbgReportW は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(printf.obj) : error LNK2005: _printf は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(vswprint.obj) : error LNK2005: __vswprintf は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(typinfo.obj) : error LNK2005: "public: void __thiscall type_info::_type_info_dtor_internal_method(void)" (?_type_info_dtor_internal_method@type_info@@QAEXXZ) は既に MSVCRTD.lib(MSVCR100D.dll) で定義されています。
1>LIBCMTD.lib(typinfo.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) は既に MSVCRTD.lib(ti_inst.obj) で定義されています。
1>LIBCMTD.lib(typinfo.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) は既に MSVCRTD.lib(ti_inst.obj) で定義されています。
1>LINK : warning LNK4098: defaultlib 'MSVCRTD' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。
1>LINK : warning LNK4098: defaultlib 'LIBCMTD' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。
1>LIBCMTD.lib(crt0.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
1>C:\Users\Yuta\Documents\Visual Studio 2010\Projects\ゲームの練習1\Debug\ゲームの練習1.exe : fatal error LNK1120: 外部参照 1 が未解決です。

Re: 本を買って、やってみたものの・・・

Posted: 2012年7月13日(金) 23:06
by softya(ソフト屋)
VC++2010Expressだと下記の手順が必要です。
「DXライブラリ置き場 使い方説明」
http://homepage2.nifty.com/natupaji/DxL ... press.html
上記サイトの
「4.DXライブラリを使用するためのプロジェクトの設定を行う」の「⑪ ダイアログ右側に表示されている『ランタイム ライブラリ』の項目を     『マルチスレッド(/MT)』に変更したあと、ダイアログ右下にある『適用』ボタンを押します。」は作業されましたか?

本にも同じことが書いてあるんじゃないかと思うのですが。
※ DXライブラリの書籍を読んだことはありません。

Re: 本を買って、やってみたものの・・・

Posted: 2012年7月13日(金) 23:16
by ISLe
softyaさんの指摘以前の問題のような気がします。
扇風機EX さんが書きました:1>LIBCMTD.lib(crt0.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
きちんと本に書いてある手順通りに進めればこのエラーは出ないと思うのですが。

『はじめる前に~』みたいな章をすっ飛ばしているのでしょうか。
扇風機EXさんはマニュアルを読まないタイプの方ですかね。
せっかく買った本ですから、しっかり読んで進めるのが良いのではないでしょうか。

Re: 本を買って、やってみたものの・・・

Posted: 2012年7月15日(日) 18:59
by 扇風機EX
遅くなってすいません。
ソフト屋さん、ISLeさん
皆さんのご指摘の通り設定にミスがありました。
解決したのでお礼申し上げます。
今後も本を参考に開発を続けるつもりですので、またお世話なるかもしれません。
どうぞよろしくお願いします。