ライブラリの導入にあたってのリンクエラー
Posted: 2016年9月06日(火) 18:25
VisualStudio2008 の環境です。
”ゲームプログラマになる前に覚えておきたい技術”という名前の書籍の付属ライブラリを導入、環境をを整えているのですが
以下のリンクエラーの対処ができず困っています。どうか、解決方法を提示して頂けないでしょうか?
1>------ ビルド開始: プロジェクト: test2, 構成: Debug Win32 ------
1>リンクしています...
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)" (?_Decref@facet@locale@std@@QAEPAV123@XZ) は既に GameLib_d.lib(Manager.obj) で定義されています。
1>libcpmtd.lib(ios.obj) : error LNK2005: "private: static void __cdecl std::ios_base::_Ios_base_dtor(class std::ios_base *)" (?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>libcpmtd.lib(ios.obj) : error LNK2005: "public: static void __cdecl std::ios_base::_Addstd(class std::ios_base *)" (?_Addstd@ios_base@std@@SAXPAV12@@Z) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>libcpmtd.lib(locale0.obj) : error LNK2005: "void __cdecl _AtModuleExit(void (__cdecl*)(void))" (?_AtModuleExit@@YAXP6AXXZ@Z) は既に msvcprtd.lib(locale0_implib.obj) で定義されています。
1>libcpmtd.lib(locale0.obj) : error LNK2005: __Fac_tidy は既に msvcprtd.lib(locale0_implib.obj) で定義されています。
1>libcpmtd.lib(locale0.obj) : error LNK2005: "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z) は既に msvcprtd.lib(locale0_implib.obj) で定義されています。
1>libcpmtd.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" (?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>libcpmtd.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Init(void)" (?_Init@locale@std@@CAPAV_Locimp@12@XZ) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>libcpmtd.lib(locale0.obj) : error LNK2005: "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) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>libcpmtd.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_dtor(class std::_Locinfo *)" (?_Locinfo_dtor@_Locinfo@std@@SAXPAV12@@Z) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>libcpmtd.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>libcpmtd.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>LINK : warning LNK4098: defaultlib 'LIBCMTD' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
1>C:\Users\Bidoumyouou\Documents\Visual Studio 2008\Projects\test2\Debug\test2.exe : fatal error LNK1120: 外部参照 1 が未解決です。
1>ビルドログは "file://c:\Users\Bidoumyouou\Documents\Visual Studio 2008\Projects\test2\test2\Debug\BuildLog.htm" に保存されました。
1>test2 - エラー 14、警告 1
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
Warningの欄の指示通りに プロパティ->構成プロオパティ->リンカ->特定のライブラリの無視の項目に
/NODEFAULTLIB:libcmtd.lib
を含め、また、リンクエラー LINK4098 のMicrosoftの https://msdn.microsoft.com/ja-jp/library/6wtdswk0.aspx
デバッグ用のマルチスレッド の組み合わせのライブラリを無視してみましたが結果は変わりませんでした。
ライブラリは → http://www.shuwasystem.co.jp/support/7980html/2118.html
の2008に収録されている2DGraphics1を使用しています
”ゲームプログラマになる前に覚えておきたい技術”という名前の書籍の付属ライブラリを導入、環境をを整えているのですが
以下のリンクエラーの対処ができず困っています。どうか、解決方法を提示して頂けないでしょうか?
1>------ ビルド開始: プロジェクト: test2, 構成: Debug Win32 ------
1>リンクしています...
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)" (?_Decref@facet@locale@std@@QAEPAV123@XZ) は既に GameLib_d.lib(Manager.obj) で定義されています。
1>libcpmtd.lib(ios.obj) : error LNK2005: "private: static void __cdecl std::ios_base::_Ios_base_dtor(class std::ios_base *)" (?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>libcpmtd.lib(ios.obj) : error LNK2005: "public: static void __cdecl std::ios_base::_Addstd(class std::ios_base *)" (?_Addstd@ios_base@std@@SAXPAV12@@Z) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>libcpmtd.lib(locale0.obj) : error LNK2005: "void __cdecl _AtModuleExit(void (__cdecl*)(void))" (?_AtModuleExit@@YAXP6AXXZ@Z) は既に msvcprtd.lib(locale0_implib.obj) で定義されています。
1>libcpmtd.lib(locale0.obj) : error LNK2005: __Fac_tidy は既に msvcprtd.lib(locale0_implib.obj) で定義されています。
1>libcpmtd.lib(locale0.obj) : error LNK2005: "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z) は既に msvcprtd.lib(locale0_implib.obj) で定義されています。
1>libcpmtd.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" (?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>libcpmtd.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Init(void)" (?_Init@locale@std@@CAPAV_Locimp@12@XZ) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>libcpmtd.lib(locale0.obj) : error LNK2005: "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) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>libcpmtd.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_dtor(class std::_Locinfo *)" (?_Locinfo_dtor@_Locinfo@std@@SAXPAV12@@Z) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>libcpmtd.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>libcpmtd.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) は既に msvcprtd.lib(MSVCP90D.dll) で定義されています。
1>LINK : warning LNK4098: defaultlib 'LIBCMTD' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
1>C:\Users\Bidoumyouou\Documents\Visual Studio 2008\Projects\test2\Debug\test2.exe : fatal error LNK1120: 外部参照 1 が未解決です。
1>ビルドログは "file://c:\Users\Bidoumyouou\Documents\Visual Studio 2008\Projects\test2\test2\Debug\BuildLog.htm" に保存されました。
1>test2 - エラー 14、警告 1
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
Warningの欄の指示通りに プロパティ->構成プロオパティ->リンカ->特定のライブラリの無視の項目に
/NODEFAULTLIB:libcmtd.lib
を含め、また、リンクエラー LINK4098 のMicrosoftの https://msdn.microsoft.com/ja-jp/library/6wtdswk0.aspx
デバッグ用のマルチスレッド の組み合わせのライブラリを無視してみましたが結果は変わりませんでした。
ライブラリは → http://www.shuwasystem.co.jp/support/7980html/2118.html
の2008に収録されている2DGraphics1を使用しています