日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Crypto++库编译出错 解决办法

發(fā)布時間:2025/3/19 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Crypto++库编译出错 解决办法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

錯誤信息:

1 1>------ 已啟動生成: 項(xiàng)目: testCrypto++, 配置: Debug Win32 ------ 2 1>正在編譯... 3 1>main.cpp 4 1>正在鏈接... 5 1>cryptlib.lib(rijndael.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 6 1>cryptlib.lib(rijndael.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 7 1>cryptlib.lib(rijndael.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 8 1>cryptlib.lib(rijndael.obj) : error LNK2005: "public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 9 1>cryptlib.lib(rijndael.obj) : error LNK2005: "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 10 1>cryptlib.lib(cryptlib.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 11 1>cryptlib.lib(cryptlib.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 12 1>cryptlib.lib(cryptlib.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 13 1>cryptlib.lib(cryptlib.obj) : error LNK2005: "public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 14 1>cryptlib.lib(cryptlib.obj) : error LNK2005: "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 15 1>cryptlib.lib(cryptlib.obj) : error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)" (??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 16 1>cryptlib.lib(filters.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 17 1>cryptlib.lib(filters.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 18 1>cryptlib.lib(filters.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 19 1>cryptlib.lib(filters.obj) : error LNK2005: "public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 20 1>cryptlib.lib(filters.obj) : error LNK2005: "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 21 1>cryptlib.lib(filters.obj) : error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)" (??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 22 1>cryptlib.lib(queue.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 23 1>cryptlib.lib(queue.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 24 1>cryptlib.lib(queue.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 25 1>cryptlib.lib(queue.obj) : error LNK2005: "public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 26 1>cryptlib.lib(queue.obj) : error LNK2005: "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 27 1>cryptlib.lib(algparam.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 28 1>cryptlib.lib(algparam.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 29 1>cryptlib.lib(algparam.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 30 1>cryptlib.lib(algparam.obj) : error LNK2005: "public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 31 1>cryptlib.lib(algparam.obj) : error LNK2005: "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 32 1>cryptlib.lib(algparam.obj) : error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)" (??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 33 1>cryptlib.lib(mqueue.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 34 1>cryptlib.lib(mqueue.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 35 1>cryptlib.lib(mqueue.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 36 1>cryptlib.lib(mqueue.obj) : error LNK2005: "public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 37 1>cryptlib.lib(mqueue.obj) : error LNK2005: "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 38 1>cryptlib.lib(mqueue.obj) : error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)" (??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 39 1>libcpmtd.lib(string.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 40 1>libcpmtd.lib(string.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 41 1>libcpmtd.lib(string.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 42 1>libcpmtd.lib(string.obj) : error LNK2005: "public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 43 1>libcpmtd.lib(string.obj) : error LNK2005: "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z) 已經(jīng)在 msvcprtd.lib(MSVCP90D.dll) 中定義 44 1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __aligned_malloc 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 45 1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __aligned_free 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 46 1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 47 1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: _exit 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 48 1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __exit 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 49 1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __cexit 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 50 1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __amsg_exit 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 51 1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __initterm_e 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 52 1>LIBCMTD.lib(dbghook.obj) : error LNK2005: __crt_debugger_hook 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 53 1>LIBCMTD.lib(setlocal.obj) : error LNK2005: __configthreadlocale 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 54 1>LIBCMTD.lib(tidtable.obj) : error LNK2005: __encode_pointer 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 55 1>LIBCMTD.lib(tidtable.obj) : error LNK2005: __decode_pointer 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 56 1>LIBCMTD.lib(winxfltr.obj) : error LNK2005: __XcptFilter 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 57 1>LIBCMTD.lib(crt0.obj) : error LNK2005: _mainCRTStartup 已經(jīng)在 MSVCRTD.lib(crtexe.obj) 中定義 58 1>LIBCMTD.lib(errmode.obj) : error LNK2005: ___set_app_type 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 59 1>LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xi_a 已經(jīng)在 MSVCRTD.lib(cinitexe.obj) 中定義 60 1>LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xi_z 已經(jīng)在 MSVCRTD.lib(cinitexe.obj) 中定義 61 1>LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xc_a 已經(jīng)在 MSVCRTD.lib(cinitexe.obj) 中定義 62 1>LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xc_z 已經(jīng)在 MSVCRTD.lib(cinitexe.obj) 中定義 63 1>LIBCMTD.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 64 1>LIBCMTD.lib(invarg.obj) : error LNK2005: __invalid_parameter 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 65 1>LIBCMTD.lib(invarg.obj) : error LNK2005: __invoke_watson 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 66 1>LIBCMTD.lib(mlock.obj) : error LNK2005: __lock 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 67 1>LIBCMTD.lib(mlock.obj) : error LNK2005: __unlock 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 68 1>LIBCMTD.lib(dbgrptw.obj) : error LNK2005: __CrtDbgReportW 已經(jīng)在 MSVCRTD.lib(MSVCR90D.dll) 中定義 69 1>LINK : warning LNK4098: 默認(rèn)庫“MSVCRTD”與其他庫的使用沖突;請使用 /NODEFAULTLIB:library 70 1>LINK : warning LNK4098: 默認(rèn)庫“LIBCMTD”與其他庫的使用沖突;請使用 /NODEFAULTLIB:library 71 1>C:\Users\Administrator\Documents\Visual Studio 2008\Projects\test\Debug\testCrypto++.exe : fatal error LNK1169: 找到一個或多個多重定義的符號 72 1>生成日志保存在“file://c:\Users\Administrator\Documents\Visual Studio 2008\Projects\test\testCrypto++\Debug\BuildLog.htm” 73 1>testCrypto++ - 65 個錯誤,2 個警告 74 ========== 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 ==========

錯誤原因:crypto++庫是MTD模式下的,而vs2008的默認(rèn)運(yùn)行時庫是多線程MDd

解決辦法:項(xiàng)目屬性--配置屬性--C/C++--代碼生成 ?運(yùn)行時庫修改為:多線程調(diào)試DLL(/MTd)

關(guān)于運(yùn)行時庫的詳細(xì)說明請點(diǎn)擊這里

總結(jié)

以上是生活随笔為你收集整理的使用Crypto++库编译出错 解决办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。