<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JUST DO IT ~

    我只想當(dāng)個程序員

    error LNK2005 LIBCMTD 與 nafxcwd.lib 沖突 VC

    1. 簡單解決問題的方式是

    找cpp  缺少  #include "stdafx.h" 添加。并且使用 《預(yù)編譯選項》

    B8C9~4S35CKEG12DA5W7_ZJ

     

    2.被動解決方式

        又分為2種方式

        1.選擇排除 lib 再附加lib   nafxcwd.lib    LIBCMTD.lib  附加的順序不一樣來操作。

        2.另外一種簡單的做法 在附加lib處添加  nafxcwd.lib

     

    使用  Client.lib 會出現(xiàn)問題,libc 和mfc的庫沖突問題。

    這邊可以在編譯時加lib參數(shù) nafxcwd.lib。但是我項目本身不使用mfc。

    1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已經(jīng)在 LIBCMTD.lib(new.obj) 中定義

    1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) 已經(jīng)在 LIBCMTD.lib(dbgdel.obj) 中定義

    1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) 已經(jīng)在 libcpmtd.lib(newaop.obj) 中定義

    1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) 已經(jīng)在 LIBCMTD.lib(delete2.obj) 中定義

    1>     正在創(chuàng)建庫 ..\bin\Service.lib 和對象 ..\bin\Service.exp

    1>..\bin\Service.exe : fatal error LNK1169: 找到一個或多個多重定義的符號

    1>  正在搜索庫

    1>      正在搜索 ../lib/CMDClient.lib:

    1>      正在搜索 C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86\kernel32.lib:

    1>      正在搜索 C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86\user32.lib:

    1>      正在搜索 C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86\gdi32.lib:

    1>      正在搜索 C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86\winspool.lib:

    1>      正在搜索 C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86\comdlg32.lib:

    1>      正在搜索 C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86\advapi32.lib:

    1>      正在搜索 C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86\shell32.lib:

    1>      正在搜索 C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86\ole32.lib:

    1>      正在搜索 C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86\oleaut32.lib:

    1>      正在搜索 C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86\uuid.lib:

    1>      正在搜索 C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86\odbc32.lib:

    1>      正在搜索 C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86\odbccp32.lib:

    1>      正在搜索 D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\LIBCMTD.lib:

    1>      正在搜索 D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\OLDNAMES.lib:

    1>      正在搜索 D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\lib\uafxcwd.lib:

    1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已經(jīng)在 LIBCMTD.lib(new.obj) 中定義

    1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) 已經(jīng)在 LIBCMTD.lib(dbgdel.obj) 中定義

    1>      正在搜索 C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86\msimg32.lib:

    MSDN 解決問題鏈接

    http://support.microsoft.com/kb/148652/zh-cn

    CRT 庫對 newdeleteDllMain 函數(shù)使用弱外部鏈接。MFC 庫也包含 newdeleteDllMain 函數(shù)。這些函數(shù)要求先鏈接 MFC 庫,然后再鏈接 CRT 庫。

    回到頂端 | 提供反饋

    解決方案

    該問題有兩種解決方法。第一種方法是強制鏈接器按照正確的順序鏈接庫。第二種方法是由您親自查找導(dǎo)致問題的模塊并糾正它。
    注意 以下步驟基于 Visual C++ 6.0。

    解決方案一:強制鏈接器按照正確的順序鏈接庫
    1. 在“項目”菜單上,單擊“設(shè)置”。
    2. 在“項目設(shè)置”對話框的“以下項目的設(shè)置”視圖中,單擊以選中出現(xiàn)鏈接錯誤的項目配置。
    3. 在“鏈接”選項卡上,單擊以選中“類別”組合框中的“輸入”。
    4. 在“忽略庫”框中,插入庫名(例如,Nafxcwd.lib;Libcmtd.lib)。
      注意:等效的鏈接器命令行是:/NOD:<library name>
    5. 在“對象/庫模塊”框中,插入庫名。必須確保這些庫按順序列出,而且是行中的前兩個庫(例如,Nafxcwd.lib 和 Libcmtd.lib)。
    要在 Visual C++ .NET 中設(shè)置該選項,請閱讀“設(shè)置 Visual C++ 項目屬性”聯(lián)機(jī)幫助主題。
    解決方案二:查找導(dǎo)致問題的模塊并糾正它
    若要查看當(dāng)前的庫鏈接順序,請按照下列步驟操作:
    1. 在“項目”菜單上,單擊“設(shè)置”。
    2. 在“項目設(shè)置”對話框的“以下項目的設(shè)置”視圖中,單擊以選中出現(xiàn)鏈接錯誤的項目配置。
    3. 在“鏈接”選項卡上的“項目選項”框中鍵入 /verbose:lib。
    4. 重新生成項目。在鏈接過程中,這些庫將在輸出窗口中列出。

    回到頂端 | 提供反饋

    狀態(tài)

    這種現(xiàn)象是設(shè)計導(dǎo)致的。

    回到頂端 | 提供反饋

    更多信息

    使用 MFC 庫時,務(wù)必先鏈接它們,然后再鏈接 CRT 庫。這可以通過確保項目中的每個文件都首先包含 Msdev\Mfc\Include\Afx.h 來完成。

    直接包含 (  #include <Afx.h>  ) 或間接包含 (#include <Stdafx.h>) 都可以。Afx.h 包含文件會通過使用 #pragma comment (lib,"<libname>") 指令來強制采用庫的正確順序。
    如果源文件的擴(kuò)展名為 .c,或者該文件的擴(kuò)展名為 .cpp 但不使用 MFC,則可以創(chuàng)建一個較小的頭文件 (Forcelib.h) 并將其放在模塊的頂端。這個新的頭文件可確保按照正確的順序搜索庫。
    Visual C++ 不包含該頭文件。要創(chuàng)建此文件,請按照下列步驟操作:

    1. 打開 Msdev\Mfc\Include\Afx.h。
    2. 選定 #ifndef _AFX_NOFORCE_LIBS 和 #endif //!_AFX_NOFORCE_LIBS 之間的行。
    3. 將選定部分復(fù)制到 Windows 剪貼板。
    4. 創(chuàng)建一個新文本文件。
    5. 將剪貼板的內(nèi)容粘貼到這個新文件中。
    6. 將該文件另存為 Msdev\Mfc\Include\Forcelib.h。
    在 Visual C++ .NET 中重現(xiàn)問題的步驟
    1. 啟動 Microsoft Visual Studio .NET。
    2. 在“文件”菜單上,指向“新建”,然后單擊“項目”。
    3. 單擊“項目類型”下的“Visual C++ 項目”,然后單擊“模板”下的“MFC 應(yīng)用程序”。
    4. 在“名稱”文本框中,鍵入 Q148652。
    5. 在“位置”文本框中,鍵入 C:\Test,然后單擊“確定”。
    6. 在“MFC 應(yīng)用程序向?qū)А睂υ捒蛑校瑔螕簟皯?yīng)用程序類型”。
    7. 單擊“應(yīng)用程序類型”下的“基于對話框”,然后單擊“MFC 的使用”下的“在靜態(tài)庫中使用 MFC”。
    8. 單擊“完成”。
    9. 在“解決方案資源管理器”中,選擇“源文件”下的全部三個 .cpp 文件。
    10. 右鍵單擊三個選定的文件,然后單擊“刪除”。
    11. 右鍵單擊“源文件”,指向“添加”,然后單擊“添加新項”。
    12. 單擊“模板”下的“C++ 文件”。在“名稱”文本框中,鍵入 Aa。單擊“打開”。
    13. 將以下代碼粘貼到 Aa.cpp 中:

      int test(){new int; return 1;}
    14. 右鍵單擊“源文件”,指向“添加”,然后單擊“添加現(xiàn)有項”。
    15. 選擇以下文件:
      • Q148652.cpp
      • Q148652Dlg.cpp
      • stdafx.cpp
    16. 單擊“打開”。
    17. 您在第 15 步中選擇的文件將出現(xiàn)在“源文件”下。
    18. 選擇“源文件”下的全部四個 .cpp 文件。
    19. 右鍵單擊選定的四個 .cpp 文件,然后單擊“屬性”。
    20. 展開“配置屬性”,然后展開“C/C++”。
    21. 單擊“預(yù)編譯頭”。
    22. 將“創(chuàng)建/使用預(yù)編譯頭”屬性設(shè)置為“不使用預(yù)編譯頭”。單擊“確定”。
    23. 在“生成”菜單上,單擊“重新生成解決方案”。

    回到頂端 | 提供反饋

    注意:本篇“快速發(fā)布”文章是從 Microsoft 支持組織直接創(chuàng)建的。 文中包含的信息按原樣提供,用于響應(yīng)緊急問題。 由于發(fā)布倉促,材料可能包含印刷錯誤,并且可能隨時修訂,恕不另行通知。 有關(guān)其他注意事項,請參閱使用條款

    posted on 2013-08-20 22:26 小高 閱讀(2718) 評論(0)  編輯  收藏 所屬分類: C

    導(dǎo)航

    <2013年8月>
    28293031123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    統(tǒng)計

    常用鏈接

    留言簿(3)

    隨筆分類(352)

    收藏夾(19)

    關(guān)注的blog

    手冊

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 中文字幕a∨在线乱码免费看 | 亚洲va在线va天堂va手机| 91精品免费在线观看| 久久精品国产亚洲av品善| 久久精品国产精品亚洲下载| 一级毛片在线免费看| 国产91在线|亚洲| 亚洲日本一区二区一本一道| 久视频精品免费观看99| 亚洲精华液一二三产区| 亚洲国产精品无码成人片久久| 成人免费a级毛片无码网站入口 | 亚洲精品人成在线观看| 午夜电影免费观看| 成在人线av无码免费高潮喷水| 2019亚洲午夜无码天堂| 亚洲AV无码久久精品成人 | 亚洲AV成人一区二区三区AV| 成人激情免费视频| 四虎影视在线影院在线观看免费视频| 亚洲乱码中文字幕在线| 久久精品亚洲一区二区| 免费一级毛片正在播放| 成人午夜免费福利视频| 在线免费播放一级毛片 | 日韩人妻无码精品久久免费一 | 国产无遮挡裸体免费视频在线观看| 国产精品亚洲精品观看不卡| 久久国产亚洲观看| 亚洲福利精品一区二区三区 | 亚洲精品无码久久一线| 午夜国产羞羞视频免费网站| 在线免费观看国产| 久久精品国产影库免费看| 日韩在线观看免费| 亚洲精品GV天堂无码男同| 在线观看亚洲AV日韩A∨| 精品无码一区二区三区亚洲桃色 | 亚洲国产日韩成人综合天堂| 香蕉视频在线观看免费国产婷婷 | 无码人妻AV免费一区二区三区|