2010年7月18日日曜日

LIBCMT.libとMSVCRTD.libの競合

Luaのライブラリを利用しようとしたら出たエラーです。
ライブラリ(lib)がVC2005でコンパイルされていたので
VC2008のReleaseモードでコンパイルしたらでなくなりました。

LIBCMT.lib(_file.obj) : error LNK2005: ___iob_func は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(crt0dat.obj) : error LNK2005: __amsg_exit は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(crt0dat.obj) : error LNK2005: __initterm_e は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(crt0dat.obj) : error LNK2005: __exit は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(crt0dat.obj) : error LNK2005: __cexit は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_a は既に MSVCRTD.lib(cinitexe.obj) で定義されています。
LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_z は既に MSVCRTD.lib(cinitexe.obj) で定義されています。
LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_a は既に MSVCRTD.lib(cinitexe.obj) で定義されています。
LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_z は既に MSVCRTD.lib(cinitexe.obj) で定義されています。
LIBCMT.lib(tidtable.obj) : error LNK2005: __encode_pointer は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(tidtable.obj) : error LNK2005: __decode_pointer は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(winxfltr.obj) : error LNK2005: __XcptFilter は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(crt0.obj) : error LNK2005: _mainCRTStartup は既に MSVCRTD.lib(crtexe.obj) で定義されています。
LIBCMT.lib(errmode.obj) : error LNK2005: ___set_app_type は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(mlock.obj) : error LNK2005: __unlock は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(mlock.obj) : error LNK2005: __lock は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(setlocal.obj) : error LNK2005: __configthreadlocale は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(dosmap.obj) : error LNK2005: __errno は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(lconv.obj) : error LNK2005: _localeconv は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(atox.obj) : error LNK2005: _atoi は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LIBCMT.lib(strtol.obj) : error LNK2005: _strtoul は既に MSVCRTD.lib(MSVCR90D.dll) で定義されています。
LINK : warning LNK4098: defaultlib 'MSVCRTD' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。
LINK : warning LNK4098: defaultlib 'LIBCMT' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。

0 件のコメント:

コメントを投稿