(私がこれをやろうとしている理由: Windows で libpng のビルド済みバイナリを使用することに失敗したため (何時間にもわたる試行錯誤にもかかわらず)、自分でコンパイルしようとしています。この役立つブログを見つけました)これに関する投稿、Microsoft Visual Studio 2008 プロジェクト ファイルを完備していますが、残念ながらまだ使用できていません。)
ここにある zlib バイナリにリンクすると正常にコンパイルされますが、テスト ファイルにリンクしようとすると、次のメッセージが表示されます。
C:\Documents and Settings\Administrator\My Documents>cl "C:\Documents and Settin gs\Administrator\My Documents\test.c" "C:\Documents and Settings\Administrator\M y Documents\libpng.lib" -I "C:\Documents and Settings\Administrator\My Documents\include" Microsoft (R) 32 ビット C/C++ 最適化コンパイラ バージョン 15.00.30729.01 for 80x86 Copyright (C) Microsoft Corporation. 全著作権所有。 test.c Microsoft (R) Incremental Linker バージョン 9.00.30729.01 Copyright (C) Microsoft Corporation. 全著作権所有。 /out:test.exe テスト.obj "C:\Documents and Settings\Administrator\My Documents\libpng.lib" MSVCRTD.lib(MSVCR90D.dll): エラー LNK2005: _abort はすでに LIBCMT.lib で定義されています( 中止.obj) MSVCRTD.lib(MSVCR90D.dll): エラー LNK2005: _fread はすでに LIBCMT.lib で定義されています( fread.obj) MSVCRTD.lib(MSVCR90D.dll): エラー LNK2005: _malloc はすでに LIBCMT.lib で定義されています (malloc.obj) MSVCRTD.lib(MSVCR90D.dll): エラー LNK2005: _free はすでに LIBCMT.lib(f ree.obj) MSVCRTD.lib(MSVCR90D.dll): エラー LNK2005: ___iob_func はすでに LIBCMT で定義されています .lib(_file.obj) リンク: 警告 LNK4098: defaultlib 'MSVCRTD' は他のライブラリの使用と競合します。あなた se /NODEFAULTLIB:ライブラリ test.exe : 致命的なエラー LNK1169: 1 つ以上の複数定義されたシンボルが見つかりました
これらのエラーを修正する方法について、誰かが光を当てることができますか?