(私がこれをやろうとしている理由: 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 つ以上の複数定義されたシンボルが見つかりました
これらのエラーを修正する方法について、誰かが光を当てることができますか?