今回は、自作ライブラリのエラーについて質問があります。
デバッグ用のライブラリを作ろうと思いまして、以下のようなコードを書きました。
( 呼び出し )
main.cpp
#include "DxLib.h"
#include "../Lib/main.h"
#pragma comment( lib, "./Lib/Lib_test01.lib" )
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int )
{
ChangeWindowMode( TRUE ), DxLib_Init();
MsgBox( "test" );
WaitKey();
DxLib_End();
return 0;
}
main.cpp
#include "../Lib/main.h"
#include <windows.h>
void MsgBox( const char* Str )
{
MessageBox( NULL, TEXT( Str ), TEXT( "msg" ), MB_OK );
}
------ ビルド開始: プロジェクト: Lib_test02, 構成: Debug Win32 ------
リンクしています...
MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) は既に LIBCMTD.lib(typinfo.obj) で定義されています。
MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) は既に LIBCMTD.lib(typinfo.obj) で定義されています。
LINK : warning LNK4098: defaultlib 'MSVCRTD' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。
D:\prog\prot\Lib\Lib_test02\Debug\Lib_test02.exe : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました。
ビルドログは "file://d:\prog\prot\Lib\Lib_test02\Debug\BuildLog.htm" に保存されました。
Lib_test02 - エラー 3、警告 1
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
エラーを消して、MsgBox()を使用する為にはどの様にしたらよいでしょうか?
【開発環境】
Windows XP
Visual C++ 2008 Express Edition
(呼び出し側のみ)Dxライブラリ