トップページ > 過去ログ > 記事閲覧
サンプルコードエラー
名前:LGA1156 日時: 2010/02/10 09:53

エラーがどうしても発生します。 Visual Stdio2008 Pro Dxライブラリを過去バージョンを使用するとエラーが減りましたがこれ以上減りません。 よろしくお願いします。 1>------ ビルド開始: プロジェクト: test, 構成: Debug Win32 ------ 1>リンクしています... 1>DrawPixel.obj : error LNK2019: 未解決の外部シンボル "int __cdecl DxLib::DxLib_End(void)" (?DxLib_End@DxLib@@YAHXZ) が関数 _WinMain@16 で参照されました。 1>DrawPixel.obj : error LNK2019: 未解決の外部シンボル "int __cdecl DxLib::WaitKey(void)" (?WaitKey@DxLib@@YAHXZ) が関数 _WinMain@16 で参照されました。 1>DrawPixel.obj : error LNK2019: 未解決の外部シンボル "int __cdecl DxLib::DrawPixel(int,int,int)" (?DrawPixel@DxLib@@YAHHHH@Z) が関数 _WinMain@16 で参照されました。 1>DrawPixel.obj : error LNK2019: 未解決の外部シンボル "int __cdecl DxLib::DxLib_Init(void)" (?DxLib_Init@DxLib@@YAHXZ) が関数 _WinMain@16 で参照されました。 1>C:\Documents and Settings\OKAWA\デスクトップ\DxLib_VC\test\Debug\test.exe : fatal error LNK1120: 外部参照 4 が未解決です。 1>ビルドログは "file://c:\Documents and Settings\OKAWA\デスクトップ\DxLib_VC\test\Debug\BuildLog.htm" に保存されました。 1>test - エラー 5、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

Page: 1 |

Re: サンプルコードエラー ( No.1 )
名前:いっち 日時:2010/02/10 18:57

原因はわかりませんが、ヘッダもライブラリもパスは通っているような感じですね。 事象的には以下の文が無効になっているような気がします。心当たりはありますでしょうか? (ためしにソースに組み込んでコンパイルすると動くかもしれません) > #pragma comment( lib, "DxLib_d.lib" )
Re: サンプルコードエラー ( No.2 )
名前:LGA1156 日時:2010/02/11 17:11

さっそくの返信ありがとうございます。 試しましたらエラーが多くなってしまったのでソースとエラーをコピペします。 よろしくお願いします。 ソース ----------- #include "DxLib.h" #pragma comment( lib, "DxLib_d.lib" ) // プログラムは WinMain から始まります int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { if( DxLib_Init() == -1 ) // DXライブラリ初期化処理 { return -1 ; // エラーが起きたら直ちに終了 } DrawPixel( 320 , 240 , 0xffff ) ; // 点を打つ WaitKey() ; // キー入力待ち DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 } エラー ----------- 1>------ ビルド開始: プロジェクト: test1, 構成: Debug Win32 ------ 1>コンパイルしています... 1>test1.cpp 1>リンクしています... 1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: _exit は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __exit は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __cexit は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __amsg_exit は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __initterm_e は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(fflush.obj) : error LNK2005: _fflush は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(dbghook.obj) : error LNK2005: __crt_debugger_hook は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(invarg.obj) : error LNK2005: __invoke_watson は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(setlocal.obj) : error LNK2005: __configthreadlocale は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(tidtable.obj) : error LNK2005: __encode_pointer は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(tidtable.obj) : error LNK2005: __decode_pointer は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(sprintf.obj) : error LNK2005: _sprintf は既に MSVCRTD.lib(MSVCR90D.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(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(winxfltr.obj) : error LNK2005: __XcptFilter は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(dosmap.obj) : error LNK2005: __errno は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(_trnsctrl_.obj) : error LNK2005: ___CxxFrameHandler は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(mlock.obj) : error LNK2005: __lock は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(mlock.obj) : error LNK2005: __unlock は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(vsprintf.obj) : error LNK2005: _vsprintf は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(errmode.obj) : error LNK2005: ___set_app_type は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LIBCMTD.lib(dbgrptw.obj) : error LNK2005: __CrtDbgReportW は既に MSVCRTD.lib(MSVCR90D.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(MSVCR90D.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>LIBCMTD.lib(getenv.obj) : error LNK2005: _getenv は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。 1>LINK : warning LNK4098: defaultlib 'MSVCRTD' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。 1>LINK : warning LNK4098: defaultlib 'LIBCMTD' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。 1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jtransform_execute_transformation が関数 _main で参照されました。 1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jcopy_markers_execute が関数 _main で参照されました。 1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jtransform_adjust_parameters が関数 _main で参照されました。 1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jtransform_request_workspace が関数 _main で参照されました。 1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jcopy_markers_setup が関数 _main で参照されました。 1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _write_stdout が関数 _main で参照されました。 1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _read_stdin が関数 _main で参照されました。 1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _read_scan_script が関数 _parse_switches で参照されました。 1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _keymatch が関数 _parse_switches で参照されました。 1>E:\DxLib_VC\test1\Debug\test1.exe : fatal error LNK1120: 外部参照 9 が未解決です。 1>ビルドログは "file://e:\DxLib_VC\test1\Debug\BuildLog.htm" に保存されました。 1>test1 - エラー 40、警告 2 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
Re: サンプルコードエラー ( No.3 )
名前:ももちゃん 日時:2010/02/11 17:19

メニューバーのプロジェクト ↓ ○○のプロパティ ↓ 構成プロパティ  -C++   -コード生成    -ランタイムライブラリ をマルチスレッドデバッグ(/MTd) にしてみてください
Re: サンプルコードエラー ( No.4 )
名前:LGA1156 日時:2010/02/11 18:12

早速の返信ありがとうございます。 上記の通りプロパティからすべての構成をマルチスレッドデバッグにしたら無事に表示されました。 本当にありがとうございました。 C言語を学んで間が少ないものですので質問させて頂くとおもいますので、またよろしくお願いします。

Page: 1 |