error LNK2005: __get_invalid_parameter_handler 已經在 LIBCMTD.lib(invarg.obj) 中定義

問題描述:

在用vs2012編譯程序的時候,release版本正常編譯通過,但Debug版本提示下面的很多錯誤;

1>LIBCMT.lib(invarg.obj) : error LNK2005: “void __cdecl _invalid_parameter(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int)” (?_invalid_parameter@@YAXPBG00II@Z) 已經在 LIBCMTD.lib(invarg.obj) 中定義

1>LIBCMT.lib(invarg.obj) : error LNK2005: “void __cdecl _invoke_watson(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int)” (?_invoke_watson@@YAXPBG00II@Z) 已經在 LIBCMTD.lib(invarg.obj) 中定義

1>LIBCMT.lib(invarg.obj) : error LNK2005: __call_reportfault 已經在 LIBCMTD.lib(invarg.obj) 中定義

1>LIBCMT.lib(invarg.obj) : error LNK2005: __get_invalid_parameter_handler 已經在 LIBCMTD.lib(invarg.obj) 中定義

1>LIBCMT.lib(invarg.obj) : error LNK2005: __initp_misc_invarg 已經在 LIBCMTD.lib(invarg.obj) 中定義

1>LIBCMT.lib(invarg.obj) : error LNK2005: __invalid_parameter 已經在 LIBCMTD.lib(invarg.obj) 中定義

1>LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson 已經在 LIBCMTD.lib(invarg.obj) 中定義

1>LIBCMT.lib(invarg.obj) : error LNK2005: __set_invalid_parameter_handler 已經在 LIBCMTD.lib(invarg.obj) 中定義

1>LIBCMT.lib(invarg.obj) : error LNK2005: ___pInvalidArgHandler 已經在 LIBCMTD.lib(invarg.obj) 中定義

1>LINK : warning LNK4098: 默認庫“LIBCMT”與其他庫的使用衝突;請使用 /NODEFAULTLIB:library


解決辦法:

鏈接器->輸入->忽略特定默認庫: libcmt.lib



發佈了12 篇原創文章 · 獲贊 16 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章