私はC++プロジェクト(mapserver)をビルドしようとしています。それは他のいくつかのプロジェクトに依存します。LNK2005:/ MTでビルドされたモジュールを見つける
私はnmake
を実行すると、それはこのような多くのエラーを示しています
...
LIBCMTD.lib(getenv.obj) : error LNK2005: _getenv already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMTD.lib(tolower.obj) : error LNK2005: _tolower already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMTD.lib(fflush.obj) : error LNK2005: _fflush already defined in MSVCRT.lib(MSVCR90.dll)
MSVCRT.lib(MSVCR90.dll) : error LNK2005: __strnicmp already defined in LIBCMTD.lib(strnicmp.obj)
...
私は、彼らがプロジェクトからプロジェクトに異なる場合、それが/MD
と/MT
オプションによって引き起こされる知っています。
すべてのプロジェクトのビルドファイルを確認したところ、/MT
で1つしか見つかりませんでした。私は/MD
に変更し、再構築しましたが、エラーは残りました。
ライブラリを見つける方法はこのエラーの原因ですか?
ありがとうございました!
P.S.プロジェクトリスト:
curl-7.24.0
expat-2.0.1
freetype-2.4.8
gdal-1.9.0
gdwin32
jpeg-6b
lpng158
mapserver <-- main
postgresql-8.4.9
proj-4.7.0
regex-0.12
zlibの